ZSNES v1.51 Documentation

================================
    N a v i g a t i o n
================================

    * Index    [Index.txt]

    * Readme    [Readme.txt]

    * GUI    [GUI.txt]

    * Netplay    [Netplay.txt]

    * Advanced Usage    [Advanced.txt]

    * Games    [Games.txt]

    * FAQ    [FAQ.txt]

    - - - - - - - - - - - - - - - - - -

    * Getting Support    [Support.txt]

    * History    [History.txt]

    * About    [About.txt]

    * License    [License.txt]

    - - - - - - - - - - - - - - - - - -

    * NSRT Guide:    [http://zsnes-docs.sf.net/nsrt]

    * ZSNES Home Page:  [ZSNES.com]


================================================================================
~                                H i s t o r y
================================================================================

The following is the history of ZSNES, including the changelogs for every
official ZSNES release, and other major events. ZSNES was first released on
October 14, 1997.

Spanning the releases between version 0.715 and version 0.990, an ASM-only
version was offered alongside the normal ASM+C version. Differences between
sister C/A releases are marked as appropriate.

Note: All changelogs before v1.40 were copied from their original text source
inside the ZSNES official release packages. We edited the old changelogs as
little as possible in order to minimize the accidental loss of information.
Therefore, you may find spelling mistakes and formatting differences between
different versions.

1. v1.51 - January 25, 2007
2. v1.50 - December 22, 2006
3. v1.42 - January 19, 2005
4. v1.41 - January 18, 2005
5. v1.40 - December 25, 2004
6. v1.36 - July 15, 2002
7. v1.35 - June 23, 2002
8. v1.337 - September 30, 2001
9. zsKnight Leaves - July 23, 2001
10. v1.31b - July 3, 2001
11. v1.31 - June 27, 2001
12. v1.30b - June 16, 2001
13. v1.30 - June 13, 2001
14. v1.29, Win v1.00 - June 1, 2001
15. v1.28b, Win v0.99 - May 28, 2001
16. v1.28, Win v0.99 - Unknown Release Date
17. v1.26, Win v0.97 - May 17, 2001
18. v1.25, Win v0.93 - May 15, 2001
19. v1.20b, Win v0.88 - April 30, 2001
20. Source Code Released - April 2, 2001
21. v1.17b - December 27, 2000
22. v1.17, Win v0.85 - December 25, 2000
23. v1.14, Win v0.80 - November 27, 2000
24. v1.12, Win v0.74 - November 14, 2000
25. v1.11, Win v0.72 - November 12, 2000
26. v1.10, Win v0.70 - November 7, 2000
27. v1.01 - September 9, 2000
28. v1.000 - September 1, 2000 - First Windows Release
29. v0.991 - May 24, 2000
30. v0.990 - May 24, 2000
31. v0.9891c/a - February 21, 2000
32. v0.989c/a - February 12, 2000
33. v0.988c/a - December 6, 1999
34. v0.987c/a - November 26, 1999
35. v0.986c/a - November 23, 1999
36. v0.985c - November 15, 1999
37. v0.963c/a - September 19, 1999
38. v0.962c/a - September 18, 1999
39. v0.960c - September 17, 1999
40. v0.953c/a - August 4, 1999
41. v0.952c - August 3, 1999
42. v0.951c - August 3, 1999
43. v0.950c - August 2, 1999
44. v0.941c/a - July 18, 1999
45. v0.940c/a - July 18, 1999
46. v0.915c/a - July 7, 1999
47. v0.910c/a - July 6, 1999
48. v0.900c/a - July 4, 1999
49. v0.800a - December 25, 1998
50. v0.800c - December 24, 1998
51. v0.715 - October 29, 1998
52. v0.700 - October 26, 1998
53. v0.635 - September 24, 1998
54. v0.625 - September 18, 1998
55. v0.605 - September 10, 1998
56. v0.601 - September 9, 1998
57. v0.600 - September 9, 1998
58. v0.400 - May 19, 1998
59. v0.393 - April 15, 1998
60. v0.391 - April 13, 1998
61. v0.390 - April 11, 1998
62. v0.305 - February 12, 1998
63. v0.300b - February 10, 1998
64. v0.300 - February 9, 1998
65. v0.297 - January 31, 1998
66. v0.296 - Not Released?
67. v0.295 - January 29, 1998
68. v0.270 - December 25, 1997
69. v0.201b - November 5, 1997
70. v0.201 - November 5, 1997
71. v0.200 - November 4, 1997
72. v0.182 - October 23, 1997
73. v0.180 - October 22, 1997
74. v0.170 - October 16, 1997
75. v0.150 - October 14, 1997 - Initial Release


............................................................
v1.51 - January 25, 2007
............................................................

All Ports:
----------
  - Rejoice for finally having 224 lines and them being shown properly in all
    cases. [pagefault]
  - IRQ and timing fixes (fixes Chrono Trigger issues, Super Mario World, and
    others). [pagefault]
  - Fixed bug with certain commandline parameters permanently overwriting
    config file settings. [Nach]
  - Fixed bug with loading new ZMVs of a different version. [Nach]
  - Loading ZMV with ROM mismatch prints a message. [Nach]
  - Movie menu now has tabs and only shows proper options when available.
    [Deathlike, Nach, grinvader]
  - Slight improvement to the Custom Res functionality. [Deathlike, Nach]
  - Keep4_3Ratio option now only shows when necessary. [Deathlike]
  - PNG files now use extended height in extended height mode. [Nach]
  - Pausing, rewinding, and fast fowarding are disabled during movie dumping.
    [Nach, SamB]
  - You can now force a movie dump length shorter or longer than the actual ZMV
    length. [Nach, Deathlike]
  - Fixes for MEncoder check; added LAME check. [Nach]
  - Custom dumping with multiple passes implemented. [Nach]
  - Fixed some bad memory reads in command-line parser. Thanks grinvader. [Nach]
  - Now there's an option to switch to replay mode while recording movies when
    loading a state and vice versa. [Nach, Deathlike]
  - Fixed a bunch of bugs with certain save selection techniques not working
    right. [Deathlike]
  - Fixed gui font overwrite problem after fixing a cheat. The dots should be
    gone now. [Jonas Quinn]
  - You can now select the level of HQ filtering where applicable. [Deathlike]
  - Many tweaks made to reduce GUI mem usage on all ports. [Deathlike]
  - ZSNES now properly adheres to the command-line when Auto State Save/Load is
    used. [Deathlike]
  - Quick exit key now adheres to Auto State Save/Load. [Deathlike]
  - Inc/Dec Gamma toggles actually DO something. Gamma level is now definable in
    the config file. [Deathlike]
  - Fixed bugs with playing back ZMVs of 2+ players at once. [Nach]
  - Fix crash if you rewind farther than the game start in Kirby Super Star,
    Secret of Mana and some other games. [Jonas Quinn]
  - Fix crashing if using rewind in a movie before rewind slot is filled. Thanks
    BoltR. [Nach]
  - Readded the smoke effect. [Jonas Quinn]
  - Fixed the Winter Gold crash (but not the freeze). [Jonas Quinn]
  - Fixed crash in Super Demo World and possibly certain other large games.
    [Jonas Quinn]
  - Fixed loading many old ZSTs. [Jonas Quinn]
  - Fixed some bugs with movies which load from power on with SRAM. [Nach]
  - Fixed some issues with DSP-4 movies. [Nach]
  - Added ability to have game-specific input. Main input is now stored in
    zinput.cfg. [Nach, Deathlike]
  - Added option in Config->Options for Screenshot format. [Deathlike]
  - Fix crash on creation of ZMV if save path does not exist. Thanks Maximus.
    [Nach]
  - Logo support for AVI dumping. Set the logo file in zmovie.cfg; it can be
    gzip'd if you want. [Nach]
  - Pick state menu (default - F3) now has wraparound. Praise Pac-Man!
    [Deathlike]
  - Config file cleanup for more understandability. [Deathlike]
  - New Don't Save SRAM option. [Deathlike]
  - More GUI cleanup and tweaking, also reorganization. [Deathlike]
  - Removed the horrible-sounding Mono Surround Sound code. [Deathlike]
  - Source cleanup. [Deathlike, Phil^, Nach, grinvader]
  - Parsegen now allows one to define inside a PSR file to have it reject arrays
    from older config files. [Nach]
  - Our assembly syntax shortener now is case-insensitive with new
    case-insensitive string class. [Nach]
  - Archopt has updated flags, added GCC 4.2's -march=native support. [Nach]
  - Parsegen now has atoui() which should fix reading very large values. [Nach]
  - Ported more assembly to C. [Jonas Quinn]
  - Misc. bug fixes. [Deathlike, Jonas Quinn, SamB, Nach, grinvader]

DOS Port:
----------
  - Fixed snapshots key from attempting to take a PNG when it cannot.
    [Deathlike]
  - Removed old DOS debugger at last. [SamB]
  - Clock box option now does something in 8-bit modes. [Deathlike]

Win Port:
----------
  - Updated and improved NTSC filter. [Blargg, pagefault, Deathlike]
  - Added 1600x1200 S Full to Windows port for consistency. Fixed details of
    1600x1200 S Win. [Deathlike]
  - Fixed crash with HQ4x in windowed mode with Hi-Res Mode 7 on. [Deathlike]

SDL Port:
----------
  - Fixed broken option on Mac OS X; load menu shouldn't crash anymore. Thanks
    phf. [Nach]
  - Made WIP launch message berate users for not using --enable-release if it
    was an official release. [Nach]
  - Added option to define configuration directory. [Aerdan]
  - Mac OS X config directory now defaults to Library/Application Support/ZSNES.
    [Nach]
  - Symlink support for matching ROM name to files. [Nach]
  - Updated and improved NTSC filter. [Blargg, pagefault, Deathlike]
  - More accurate NTSC ratio. [pagefault]
  - You can now use libao for sound, compile with --enable-libao, also see
    zsnes --help for a list of drivers to use. [Nach, Bisqwit, grinvader]
  - Unit testing done; off by one errors in audio sample output fixed. Thanks
    hakonrk and grinvader. [Nach]
  - Now supports ~ (home directory) in various places, most notably ROM loading.
    [Nach]
  - Fixed some filtering and video refreshing issues. [Deathlike]
  - Fixed Bilinear Filtering on startup. [Deathlike]


............................................................
v1.50 - December 22, 2006
............................................................

All Ports:
----------
For this release, we spent much time rewriting, porting, and improving many
internal subsystems. ZSNES is a program with over 200,000 lines of source code,
and in this release, over 25% of that has been modified; also, around 15% of the
assembly has been ported to C. The upcoming list, while large, can't fully
describe the amount of work done and the amount of improvements made. Be sure to
see the readme to find out how to use all the new features.

  Subsystem Additions/Updates/Rewrites/Fixes/Improvements
  ----------
  - Ryan C. Gordon's ManyMouse support added. [Nach, pagefault]
    This allows the systems compatible with ManyMouse (Windows XP, Linux via
    evdev if read permission set, Mac OS X) to handle each mouse plugged into
    the system separately. So now games with two mouse-using devices can be
    played with 2 players (or 1 player controlling both) on a single PC.
    Left Handed Mouse Support. [Nach, Deathlike, Jonas Quinn]
    So lefties can have the buttons for a particular mouse swapped if they so
    desire.
  - Rewrote directory handling system. [Nach, Jonas Quinn, grinvader, Deathlike]
    The old system, dubbed "ZFile", only kept track of files in a limited manner
    allowing for many many bugs. The new system, dubbed "ZPath", now tracks
    files and paths in a clean systematic manner to eliminate all file/path
    related bugs that have made previous versions annoying. All file handling
    code is now done in C and has many functions to make it easier for anyone
    else to jump right into this bit of development. This also allows for many
    new features to be written, and we wrote quite a few. A debug system has
    also been added, making it easy to track file issues regardless of the
    operation system in question.
  - ZMV Rewritten - Movie Support. [Nach, grinvader, ipher]
    Added support for subtitles while playing a ZMV. [Nach]
    Can now load movies via command line parameter. [Nach]
    Added parameter to close ZSNES when movie is closed. [Nach]
    Our movie subsystem - ZMV has been completely rewritten from the ground up.
    Now features such as rerecording (via states and rewind), appending, mouse
    recording, Super Scope recording (buggy), chapters, start types, frame
    count, input compression, among other things are now all supported. Note
    ZSNES can still load old ZMVs; however, it should be noted that ZMVs are
    somewhat version reliant and may desync on a version it was not recorded
    with. Also, most of the new features will not work when using an old ZMV.
  - Can now dump ZMVs to AVI and WAV. [Nach, Bisqwit]
    For years, users have requested being able to convert a ZMV to something
    else; it is now possible.
  - Added IPS multipatch support. Goes from IPS, IP0, IP1, IP2, ..., IP9. [Nach]
    So you can have IPS autopatching apply more than one to a game loaded.
    IPS files now loaded from save directory then ROM directory. [Nach]
    Making it easier for a user to auto patch.
    Fixed silly mistake with size adjustment of IPS patches. [Nach]
    So now the very rare broken IPS should work.
  - Rewind and ZST code fully merged; rewind should now work where save states
    do (Fixes rewinding in Super Bomberman games). [grinvader, Nach]
    Can now use 100 save states instead of 10. [Deathlike, Nach, Jonas Quinn]
    SRAM is now stored in save states and can be optionally loaded from them.
    [grinvader, Nach]
    Can now select how many rewind states you want. [grinvader, Nach, ipher]
    Can now select how much time is in between rewinds. [grinvader, Nach, ipher]
    Our state saving subsystem has been completely rewritten (although another
    rewrite is planned) to fix many bugs that used to be present. With the ZST
    and rewind code merged, it also means no more issues where one works but not
    the other. This is also now all done in C, making it easier to deal with, as
    well as allowing many new features as listed above.
  - Parsegen invented (thanks grinvader, gladius). [Nach]
    Binary and text config files merged into one and heavily updated. [Nach,
    grinvader, Deathlike]
    We invented a new programming language (PSR), and a compiler for it
    (parsegen), which allows one to keep track of variables in a simple manner
    for both developers and end users. Developers can just declare a particular
    variable to be tracked and forget about it, letting the system manage
    everything else, making it easy to add as many configuration options as one
    likes. For the end user, the config file is all in text, making it easy to
    modify any feature they like or features for advanced users not changeable
    from within the GUI. It also provides a level of future compatibility so
    users should normally not have to delete config files between versions. It
    also allows partial config files, so users can delete certain settings and
    have them restored to their defaults. All this is possible while maintaining
    a high level of flexibility.
  - Netplay, Modem, IPX code removed. [grinvader, Nach. ipher]
    As much as we hated to do this, we had to remove all computer-to-computer
    playing options in order to fix up the other subsystems since the code was
    spread throughout ZSNES. We hope to reimplement it in future versions and
    also provide new features.
  - Created new macros and greatly eased GUI development and cut down on size of
    GUI code. [ipher]
    Cleaned up GUI and reorganized it. [ipher, Nach, grinvader, Deathlike,
    Jonas Quinn]
    Added tab support to the GUI and made good use of it. [grinvader]
    Rewrote the load game menu, it can now handle thousands upon thousands of
    ROMs at a time. [Nach, grinvader]
    Added a custom font system. [ipher, Deathlike]
    Nach input boxes (video, path) now have a normal blink rate. [Nach]
    Now using our custom GUI should be easier and more straight forward. Almost
    everywhere you look, you should see a cleaner design, new features, and
    fewer bugs. See below for more specifics.
  - New unified ZSNES loader which is also less buggy. [Nach, grinvader,
    Deathlike, Jonas Quinn]
    Now command line options are handled in a more efficient manner, as well as
    making it much easier for us to add more.
  - Committed the ZSNES development toolkit. [Nach, grinvader]
    Code is now always in executable sections, fixes NX and many other issues.
    [Nach]
    Added utility to auto detect best -march option to compile with; SDL port
    uses it automatically. [Nach, grinvader]
    For various developers, we now added many utilities to make working on ZSNES
    much easier. Some of these utilities should be built into the assembler but
    aren't. These new utilities have also allowed us to easily track down
    several critical bugs and fix them effortlessly. We also have a utility now
    to aid the person compiling to get the best optimization out of their build,
    perhaps now allowing them to use HQ4x or other filters that weren't possible
    before.
  - Updated build setups. [grinvader, Nach]
    Added file dependency utility. [Nach]
    All the build setups have been updated to make it easier and more flexible
    for one to compile ZSNES and encounter fewer bugs along the way. File
    dependencies can now also be calculated automatically (most notably for
    SDL), so one updating ZSNES doesn't run into weird issues with only half of
    a fix being compiled.
  - Ported much assembly to C.
    [grinvader, Deathlike, Nach, Jonas Quinn, theoddone33, pagefault, byuu]
    Removed dead code. [grinvader, Nach, pagefault, Jonas Quinn, Deathlike]
    Lastly on our big rewrite, a lot of old junk went, and many complex and
    annoying features are now in C, meaning that if you know C, now is a good
    time to start helping out ZSNES development.

  Special Chips
  ----------
  - Fixed all remaining bugs with the SPC7110. SPL4 and MDH are working
    correctly, now. Special thanks to John Weidman and Dark Force for working on
    reverse engineering. [Jonas Quinn]
  - Super FX updates (Starfox 2 now 99% working). [pagefault]
  - OBC-1 code ported to C and integrated properly. Metal Combat doesn't have
    graphical problems anymore (thanks Nach). [Jonas Quinn]
  - DSP-1 finished. [The Dumper, Andreas Naive, Nach]
  - SA-1 detection updated (Fixed loading of SD F-1 Grand Prix (Sample)). [Nach]
  - Partial Seta 11 emulation (thanks anonymous and Jonas Quinn). [Nach]
  - DSP-3 support (opcodes RE'd by Overload and Feather). Thanks Jonas Quinn for
    finding a bug in my glue code. [Nach]
  - DSP-4 Support (Top Gear 3000). [Nach, pagefault]
  - C4 emulation should be virtually perfect now. [Nach, Jonas Quinn]
  - Now got mapping done correctly for dual Sufami Turbo (thanks byuu); now have
    two sets of SRAM. [Nach, Jonas Quinn]

  As for everything else, much was done, including a multitude of emulation
  updates; it is even hard to count how many emulation bugs are no longer
  present. Several new features were also added.
  ----------
  - Many Mode 7 fixes, also implemented anomie's Matrix formula (Fixed Energy
    Breakers world map, IOG intro, Battlemanicas Battlecoptor intro).
    [Jonas Quinn]
  - Added some preliminary NMI and IRQ timing. Proper behavior of H-IRQ when
    V-IRQ is active. Flickering fix in H-IRQ timing. [pagefault]
  - Fixes for DMA, HDMA, so we can have the recent improvements without breaking
    tons of other games. (SSF2, SFA2, FFMQ, TOP, CT, YI, probably others).
    [pagefault]
  - Init DMA values to FF (thanks Overload). [pagefault]
  - Fixed windowing issues in Dragon Quest, Star Ocean, Final Fantasy V,
    Gradius III, and probably other games. [Jonas Quinn, pagefault]
  - Fixed transparency issues in several games, including U.N. Squadron, Final
    Fantasy 3u/6j, and Star Ocean. [Jonas Quinn, pagefault]
  - Fixed SRAM Mapping. Ys III, Dezaemon, Tokimeki Memorial, Dragon Knight 4,
    Fire Emblem - Thracia 776, *should* all work nicely now. [Jonas Quinn, Nach]
  - Fixed a special chip SRAM bug. [Nach]
  - Fast ROM is now actually set. [Nach]
  - Straightened out the 48Mb/64Mb ROM map. [Jonas Quinn, Nach]
  - Fixed Uchuu no Kishi Tekkaman Blade. [Jonas Quinn]
  - Fixed ENVxbehavior. [pagefault]
  - Some fixes regarding WRAM. Some Open Bus. Thanks _Demo_ & byuu. [Nach,
    pagefault]
  - Fixed the source of the Super Turrican crash. It also fixes my current
    Robotrek game. I pray this doesn't break anything else... [Deathlike]
  - Behold true ROM mirroring. If your translation breaks now, fix it. [Nach,
    grinvader]
  - Evened out ROM scoring quite a bit. A bunch of beta ROMs which didn't load
    before now should. Special thanks to Cowering for the Reset Vector Popular
    Opcode Check code. [Nach]
  - Say goodbye to speedhacks. [pagefault]
  - Changed cycles for scanline 0. [pagefault]
  - Removed special timing for EHi roms. [Jonas Quinn]
  - Fixed game title in SPC files for EHi Roms. [Jonas Quinn]
  - Workaround to fix crashing of certain games (Sim City PAL and Super Tetris 2
    + Bombliss) on resolution change. [Jonas Quinn]
  - Silly DSP code removed; should fix a lot of games (including EWJ2).
    [pagefault]
  - Fixed program counter in RET macro. Dirt Racer now plays with some blinking,
    making progress :) [pagefault]
  - Implemented some RTO (fixes some FF3 issues). [pagefault]
  - Many hacks removed (we now have less than a dozen, and we have the least of
    all the emulators that use hacks). [pagefault, grinvader, Nach, Jonas Quinn]
  - Fixed small screen extra line issues (fixes Super Metroid annoying
    line issue, so now that guy who keeps on coming into the channel
    annoying us about it can rest in peace). [pagefault, Nach]
  - Fixed bug in hi-res mode (for example, Lufia 2 ending). [MaxSt]
  - Fix some randomness in the SPC core for now. [pagefault]
  - Fixed loading of small ROMs. [Nach]
  - Fixed a bug when the background was cleared to a strange color. [pagefault]
  - Updated the bg scroll registers; fixes a couple of games (thanks anomie,
    byuu). [pagefault, grinvader, Jonas Quinn]
  - Memory mapping code is now somewhat sane and can be followed.
    [grinvader, Nach]
  - Updated timing. [pagefault]
  - Readded corrected noise frequencies. [TRAC]
  - SPC RAM cleared properly on soft reset. [pagefault, Nach]
  - Fixed some init glitches. [Nach]
  - Pass some more tests on the test cart. [pagefault, Jonas Quinn]
  - SPC700 init to ffc0. [byuu]
  - Proper logic when drawing sprites while subscreen is present; fixes
    SMRPG characters disappearing when entering buildings. [pagefault]
  - Removed the Sound Buffering option because it isn't doing anything.
    [Jonas Quinn]
  - GUI/Exiting SRAM saving only saves if SRAM Check+Save is off or it's on and
    SRAM has been modified recently without save. [Nach]
  - Super Scope buttons are now configurable. [Deathlike]
  - srand() is performed once! and always once per z execution. Water effect B
    now also has a lot more effecting. [Nach]
  - Cleaned up GZip reader. GZip reader now also supports transparent reading,
    namely a regular file with a .gz extension for no apparent reason. [Nach]
  - Added "Show Clock Box" and "Show Rom Info On Load" to the Options menu.
    [Deathlike]
  - Fixed some bugs that were discovered with Valgrind. [Nach]
  - Changed the default keys for Player 2 to saner defaults. [Deathlike]
  - Fixed some memory leaks. [Nach]
  - Remove B CPU core. [pagefault]
  - No more TURB! [Nach]
  - FPS now displayed correctly for large numbers. [grinvader]
  - Fixed crash after SuperFX savestates are loaded. [Jonas Quinn]
  - No more alpha for PNGs. [Nach, grinvader]
  - Removing unused and probably out of date SPCDUMP. [Nach]
  - Prevented 'auto state save/load' & 'auto increment state slot' from
    interacting. Former takes precedence. [grinvader]
  - ZSNES will no longer jump back into the GUI randomly if you press F2 / F4 or
    some other buttons repeatedly. Special thanks to Dan for the clues on how to
    recreate it. [Jonas Quinn]
  - Added 12 hour clock toggle. [pagefault]
  - GUI special case horizon fixed (thanks Motley, Dan). [Nach]
  - Crammed a "Documentation" button right below the "WWW.ZSNES.COM" button.
    [ipher, Nach]
  - Fixed crash after enabling Sound Interpolation mid-game. Fixed Gaussian
    always selected bug when MMX Support is disabled. Some options that are only
    available with MMX enabled are now hidden if MMX is disabled. [Jonas Quinn]
  - Fixed Clear2xSaIBuffer to clear the first line, too. [Jonas Quinn]
  - Removed off by 1 line fix. [Jonas Quinn]
  - Fixed burning effect in executables compiled with GCC. [Jonas Quinn]
  - Removed some DOS only code from other ports and vice versa. [Jonas Quinn]
  - Added "+ Gamma" and "- Gamma" hotkeys to the Misc Keys menu. [pagefault,
    ipher]
  - Hacks can now be disabled via command line (-dh). [Jonas Quinn]
  - Get_Date returns correct year now. [Jonas Quinn]
  - SPC filenames are no longer truncated if there is a dot in the filename.
    [Jonas Quinn]
  - Made gui option save config override dontsave option. Fixed bug #13. [Nach]
  - Fixed crash when MMX is disabled and 25% scanlines with interpolation is
    enabled (bug #142). [Jonas Quinn]
  - Fixed corrupted graphics when alt-tabbing. [pagefault]
  - Can now display battery power status on laptops. [Nach, pagefault, ipher,
    David Lee Lambert, drizztbsd]
  - Stupid (and old) mistake successfully corrected after manual tracking;
    fixed bug #52, and probably lots of other sound issues upon state load...
    [grinvader, Jonas Quinn]
  - Added new video modes. [Aerdan]
  - Fixed vars in bss section that had no space reserved. Fixed bug #18 on
    bug tracker. [Jonas Quinn]
  - ZSNES now decodes shift-jis headers correctly... but the font is still
    limited to 5x5. [grinvader]
  - GCC 4.0 support. [Nach]
  - Fixed a jump to not disable ENV when it shouldn't. [Jonas Quinn]
  - Optimization to frame draw code, only draw frames that change. [pagefault,
    Nach]
  - Added error message if hard patching fails. [Nach]
  - Fixed the exit procedure. [Nach, Jonas Quinn]
  - Updated license. [Nach]
  - Option to allow Up+Down/Left+Right for speedruns' sake. [grinvader]
  - New variable slow down/speed up options. [grinvader. ipher]
  - Lower memory usage. [Nach, Jonas Quinn, Deathlike]
  - Panic key now resets offset mode and windowing state. [pagefault]
  - Primary Buffer option shouldn't be reversed anymore. [Jonas Quinn]
  - Added pause and frame increment options (buggy). [Nach, grinvader, ipher]
  - Key combos for player 5. [ipher]
  - Mode 4 offset change overflow fix in rendering code. [pagefault]
  - Fixed crashes related to wrong MMX detection. [Jonas Quinn, Deathlike,
    hector]
  - Major framerate improvement when using new graphics engine. [pagefault]
  - JMA: Fixed some bugs in decompression. Improved performance. Lower
    memory requirements. Support for JMA v1 files. [Nach]
  - Changed video change accept key to spacebar. [Nach]
  - Added info on load if ROM is patched. [Nach]
  - Fixed 100% CPU usage when no game is running. [pagefault]
  - ZSNESW can now be compiled in MinGW without any fancy NASM patches.
    [TRAC, Nach]
  - Fixed bugs with SRAM Check+Save option. [grinvader, Nach, Jonas Quinn]
  - Initialized many vars which were not. [Nach]
  - Added comments so people have more of a clue. [pagefault, grinvader,
    Nach, ipher]
  - Fixed warnings. [Nach, theoddone33, grinvader, Jonas Quinn]
  - Configure script fix for Gentoo users, and debug builds now use -O0,
    because we can. [grinvader]
  - Partial scons support [theoddone33, Aerdan, Snarius]
  - Added CPU parameter for specific CPU optimizations when compiling for
    an MS platform. [Nach]
  - Added debug build support for MS ports. [Nach]
  - Can now compile without JMA support. [Nach]
  - Greatly updated, overhauled, and unified documentation. [AspiringSquire,
    Deathlike, Jipcy, Nach, Noxious Ninja, Richard C., xamenus, and others]

DOS Port:
----------
  - Fixed sample rate to not be able to select 32000 Hz or bigger rates when
    they are not available under certain circumstances. [Jonas Quinn]
  - 8 bit modes now save images as BMP. [Nach]
  - Can now compile without a debugger. [Nach, Jonas Quinn]
  - Can choose old or new debugger. [SamB]
  - Fixed ROM loading from the command line for DOS when a VESA2 mode
    is selected. [Jonas Quinn]
  - Now runs proper clean up code on exiting. [Nach]
  - Updates to input code, now supports more parallel pads. [Deathlike]
  - Can now set via command line player 1 and 2 to any input.
  - Rewind can now be used. [Nach]
  - Quick load menu now shows full internal names, or if LFN, as much
    as the other ports show. [Nach]

Win Port:
----------
  - Fixed a really strange crash problem on Windows 2003 systems. [pagefault]
  - You can now use gamepad in the background without ZSNES having focus.
    [pagefault]
  - Fixed bugs so ZSNES can be run in VMWare. [pagefault]
  - Can pause emulation in the background. [pagefault]
  - Fixed black screen after the computer was locked. [Jonas Quinn]
  - Fixed inline assembler in winlink.cpp when compiled with optimizations.
    [Jonas Quinn]
  - Added custom video modes. [Deathlike2, Nach]
  - Debugger now works in this port. [SamB, pagefault]
  - Added KitchenSyncPal and fixed a lot for KitchenSync issues [Deathlike,
    Poobah]
  - Added ForceRefreshRate as a replacement for Force60Hz. I'm sure someone
    will fail reading the cfg file for help. [Deathlike]
  - Added Keep 4:3 ratio as requested a while back by gltamarin. This is
    useful for laptops/LCDs that use non 4:3 resolutions. [Deathlike]
  - Can now set joystick sensitivity. [Deathlike]
  - Can now view ROMs by SNES internal name. [Nach, Deathlike]
  - Changed default option the Windows port uses due to sanity reasons. Also, a
    check was added to prevent the black screen (and maybe double vision) issue.
    A message box will now pop up to tell you what options you have. [Deathlike]
  - Disable Screensaver Option now disables all annoying power management stuff.
    [Deathlike]
  - Changed "High Priority Mode" to "Use A Higher Priority" and Above Normal
    Priority is used on NT. [Deathlike]
  - Nach input boxes (video, path) now allow pasting via ctrl+v. [Nach]
  - Added NTSC filter. [Blargg, pagefault, ipher]
  - Fixed strange sprite priority bugs after switch to window/fullscreen.
    [Jonas Quinn]

SDL Port:
----------
  - Fixed bilinear filter in GUI [grinvader]
  - Fixed video change freeze problems in port. [Nach]
  - Make sound processing use less CPU cycles. [Nach]
  - Fixed input responsiveness for controllers 3+. [bssteph]
  - Added freedesktop.org file [pagefault]
  - Fixed screen refresh for SDL software modes when toggling hq2x. [grinvader]
  - Fixed a key repeating bug when changing resolutions. [grinvader]
  - Fixed bug where mouse buttons were conflicting, right mouse click by itself
    on 3+ button mouse. [Nach]
  - Updated wheel handling. [Nach]
  - Added a Variable OGL mode to center ZSNES output with proper ratio.
    [NBondoux]
  - Added custom video modes. [Deathlike2, Nach]
  - New scancode handling system, should fix problems with non US keyboard
    and Mac OS X. Thanks hector.
  - Debugger now works in this port. [SamB]
  - Can now set joystick sensitivity. [Nach]
  - Added Keep 4:3 ratio as requested a while back by gltamarin. This is
    useful for laptops/LCDs that use non 4:3 resolutions. [Deathlike]
  - Can now view ROMs by SNES internal name. [Nach, Deathlike]
  - Hopefully fixed numlock keypad quick select in the F3 menu. [Deathlike]
  - Fixed bug when trackballs are present; also cleaned up joystick code a bit.
    [spoon0042]
  - Make stack non executable for ELF. Thanks drizztbsd. [Nach]
  - Mac OS X support. [Nach, hector, BRPXQZME]
  - Removed dangerous checking of environment variable for user's home path.
    [Nach]
  - Fix compilation on OpenBSD. [pagefault, Nach]
  - Added NTSC filter. [Blargg, pagefault, ipher]


............................................................
v1.42 - January 19, 2005
............................................................

All Ports:
----------
  - Corrected output of BRR decode for invalid range values (>12). [TRAC]
  - Fixed sustain level 4 (5/8). [TRAC]
  - More window boxes now have borders. [ipher]
  - Close zip files properly when IPS is not found in zip (fixes crashing with
    certain zlibs). [Nach]
  - Cleaned up some code. [Nach, ipher, grinvader]
  - Ported chip detection to C, improved BS detection. [Nach]
  - Ported rewind to C (thanks Nach, TRAC). [grinvader]
  - New reminder text. [grinvader, AspiringSquire]
  - Rollback of "Improved accuracy of base rates used for ADSR, GAIN, noise,
    and echo emulation". [ipher]

DOS Port:
----------
  - Fixed label for Fullscreen/Widescreen options. [ipher]

SDL Port:
----------
  - DESTDIR support. [theoddone33]


............................................................
v1.41 - January 18, 2005
............................................................

All Ports:
----------
  - Improved accuracy of base rates used for ADSR, GAIN, noise, and echo
    emulation. [TRAC]
  - Fixed GUI escape stack corruption if .srm file could not be written to.
    [Nach]
  - Stereo settings now obey config file. [Nach]
  - Fixed framerate loading from config file. [ipher]
  - ZSNES no longer hacks itself in order to access variables; this eliminates
    a few issues we had. [Nach]
  - Source code cleanup. [Nach, ipher]
  - Makefile overhaul; ZSNES can now be cross compiled. [Nach, ipher, malcster,
    SamB]
  - Fixed some invalid memory reads. [Nach]
  - Ported config file creation/loading to C. [MKendora, Nach]
  - Percent of execution now takes h-blank values into consideration.
    [pagefault]
  - Fixed Winter Gold FX crash. [Nach]
  - Filtered GUI is now enabled by default. [Nach]
  - Save location can now be edited in the GUI. [Nach]
  - Added option to enable/disable auto IPS patching. [Nach, ipher]
  - Saving last ROM info to rominfo.txt can now be turned off. [ipher, Nach]
  - Organized options menu, and split off save related options into its own
    menu. [ipher]
  - Moved Super System DIP switches to the chip configuration menu. [ipher]
  - More boxes have borders now! [ipher]
  - New one-time user reminder text. [grinvader]
  - Updated about box. [Nach, ipher]
  - Overhauled toaster support. [Nach]

DOS Port:
----------
  - Fixed a number of keyboard shortcuts in the GUI. [ipher]

Win Port:
----------
  - Get_Date() now returns the proper value (it always returned the proper value
    in DOS). [Nach]
  - Correct timing when compiled with MinGW (Special thanks to Jonas Quinn for
    all his help in getting ZSNESw compiled with MinGW and working). [Nach]
  - More informative error messages when some DirectX component fails to load.
    [Nach]
  - Return 0 instead of random value on exit (keeps certain frontends happy).
    [Nach]
  - Fixed keyboard shortcut for "Trap Mouse Cursor". [ipher]
  - Changed text in netplay window to be more clear about TCP/UDP. [pagefault]
  - Updated ZSNESw compilation instructions in install.txt. [Nach]

SDL Port:
----------
  - Get_Date() now returns the proper value (it always returned the proper value
    in DOS). [Nach]
  - Fixed a memory leak. [Nach]
  - Fixed buffer underflow in sound code when rate was changed several times.
    [Nach]
  - Save files can now be correctly saved in locations other than ~/.zsnes.
    [Nach]
  - Updated video selection menu. (Thanks, Aerdan!) [ipher, Nach]
  - 256x224 R Full for is now actually 256x224, not 320x240. (Thanks, Pieter
    Hulshoff!) [ipher]
  - 640x480 ODS Win is now actually 640x480, not 512x448. [ipher]
  - Added 1280x1024. [ipher]
  - Changed text in netplay window to be more clear about TCP/UDP. [pagefault]
  - Homepage button to open browser now appears in about box. [Nach]


............................................................
v1.40 - December 25, 2004
............................................................

All Ports:
----------
  - Added multiple timing tweaks, fixed various emulation bugs, and many other
    technical updates, including (but not limited to): SPC core updates (with
    improved sound decoding), safer memory allocation in certain areas, HIRQ and
    VIRQ fixes, color add/sub and color bleeding fixes, HDMA improvements,
    sprite priority and flickering fixes, and a slew of SRAM fixes. Many more
    games work :D. [pagefault, _Demo_, Nach, TRAC, Overload, theoddone33]
  - Overhauled a lot of code, such as checksum calculation and mirroring code.
    Overhauled and added much better EHi/Hi/Lo ROM code, improved reset vector,
    and changed much hard coding to variables. Fixed more SRAM bugs than we can
    count. Made optimizations to complex loading functions, syntax, memory init
    (Thanks kode54), execution, and initialization code. Also greatly improved
    PAL/NTSC detection. Also now has much better chip detection and gives more
    informative chip names. More games which never loaded before now load
    properly, such as Dai Kaiju Monogatari 2; it now loads and plays great
    without the Dejap patch. [Nach]
  - Cleaned up, overhauled, removed, and ported a lot of code (asm to C).
    [pagefault, MKendora, Nach]
  - Overhauled IO latch behavior, added proper latching behavior and other latch
    fixes (such as proper latching of bit 7 on $4201), and added proper behavior
    of RDIO regs. [pagefault]
  - Removed many, many hacks. [Nach, pagefault]
  - There have been some modifications and reorganizations of the GUI, including
    new path setup and chip configuration windows and a reorganization of the
    Game Key window. [pagefault, Nach]
  - Updates to the video code, with enhancements of triple buffering, better
    input support in the video dialog, and other general video code updates and
    bug fixes, such as a fix for the 60hz mode. [pagefault, MaxSt]
  - New extra options are now available in various locations, like the "GUI
    burning effect", new commandline options, a new quick key to control players
    1/2 with 3/4, and smaller message text. Some obsolete ones have been
    removed. [pagefault]
  - Some changes in the Input configuaration: Hitting "Set Keys" is now
    prevented if controller is set to "None". Also, if no controller is
    selected, the settings of the individual keys are now locked. [Nach]
  - Updated default configuration, in general. For example, stereo sound is now
    enabled by default at 32khz, with gaussian interpolation. [pagefault]
  - Signed saturation fix for gaussian interpolation (Thanks kode54).
    [pagefault]
  - Fixed several Netplay issues. [_Demo_, pagefault, Nach]
  - Fixed some of our .zmv movie recording problems. [Nach]
  - Fixed a small bug in SPC saving. [pagefault]
  - Fixed issues with config file saving. [pagefault, Nach]
  - Fixed PNG snapshot filenames and PNG height. [StatMat, Nach]
  - Fixed DIP switch 2 on Super System. [pagefault]
  - Fixed an auto frameskip issue (Thanks MKendora). [pagefault]
  - Fixed rewind when using commandline filename. [StatMat]
  - Fixed some issues when loading ROMs via command line. [Nach]
  - Removed ROM info that appears when loading via command line. [Nach]
  - Added a command-line savestate fix. [StatMat]
  - Fixed an annoying savestate bug. [pagefault]
  - Super Bases Loaded 2 works better, due to a fix in DSP-1 mapping. [_Demo_]
  - Horai Gakuen works better, due to a special fix. [_Demo_]
  - Lufia 2 problems are now fixed. [pagefault]
  - Emerald Dragon now works - again. [pagefault]
  - Many updates on the SPC7110, such as normal timing, special ratio removal,
    and better pack loading code. [_Demo_, pagefault, Nach]
  - Removed SPC7110 logger and S-DD1 test. [grinvader]
  - Removed support for interleaved SuperFX ROMs. [Nach]
  - Added several improvements and memory map adjustments for more accurate BS
    emulation. [Nach, pagefault]
  - Added call init code for DSP-2,3, and 4. [pagefault]
  - Added better support for split ROMs with headers and detecting interleaved
    ROMs. [Nach]
  - Added support for many more ROM extensions. [Nach]
  - ROM info now dumped to rominfo.txt on game load. [Nach]
  - Added more information lines on ROM load, such as CRC32, video, and bank
    information. [pagefault, Nach]
  - Added support for some NSRT features, such as NSRT header support and
    support for ROMs using NSRT's JMA compression format. [Nach]
  - Zipped ROMs no longer need a temporary directory. [Nach]
  - Added better handling of bad files. [_Demo_, Nach]
  - Implemented soft IPS patching functionality, with in-zip file support,
    buffering, and RLE support. [Nach]
  - Added a compatibility update to PPU. Passes one more electronics test
    (Thanks MKendora!). [pagefault]
  - Fixed variable types in many locations; ZSNES can now play games without
    hacking the binary to make code segments writable. [Nach]
  - Made ZSNES more HTPC friendly. [pagefault]
  - Fixed many compiler warnings, added compiler optimizations, and more
    compiler fixes and code cleanups. [Nach, MKendora, theoddone33, pagefault,
    ipher, SamB]
  - Unicode support partially supported. Will complete later. [pagefault]
  - ZSNES now displays the day it was compiled in the about box. [Nach]
  - Updated authors.txt, support.txt, thanks.txt, and todo.txt. [pagefault]

DOS Port:
----------
  - Fixed cubic spline interpolation. It should actually save the option now!
    [pagefault]
  - Fixed other various DOS sound bugs. [Nach, pagefault]
  - Fixed a frameskipping bug. [pagefault]

Win Port:
----------
  - Updated icon with Windows XP compliancy. [cdbsi]
  - Added new disable screensaver code. [pagefault]
  - Added a CPU utilization fix. [kode54, pagefault]
  - Added 48khz sound support, updated sound code, and fixed sound bugs.
    [pagefault, Nach, ipher, StatMat]
  - Fixed a couple of input bugs, such as one concerning the 5th joystick and
    another that made the mouse get stuck in an endless loop. [pagefault]
  - Removed alternate timer. [pagefault]
  - Fixed Netplay freezing bug. [pagefault]
  - Many new video features, including (but not limited to): HQ2X, HQ3X, and
    HQ4X graphic filters, support for hi-res and D modes in 32bpp windowed mode
    (now default), new aspect ratio code for scaling, and the KitchenSync
    (usable only via the commandline). [MaxSt, pagefault, Darkfalz]
  - Fixes for video code errors, such as those that occured when alt-tabbing in
    fullscreen, MMX interpolation fixes, and blitter fixes. [pagefault,
    zsKnight]
  - Snapshots are now numbered and use the full ROM file name. [Nach]
  - Renamed Windows version to Win32. [pagefault]
  - Win32 port can now also be compiled with MinGW (but we won't support it till
    the next release). [Nach, Jonas Quinn]

SDL Port:
----------
  - Updated icon. [cdbsi]
  - Updated Linux video code to Windows version. [pagefault]
  - Fixed problems with nVidia cards. [Diablo-D3]
  - Fixed audio problems with broken drivers. [Diablo-D3]
  - Added 48khz sound support. [pagefault]
  - Updated joystick input support. [theoddone33, Sander]
  - Fixed savestate incrementor; this caused some crashes. [pagefault]
  - Cleaned up the Linux Autoconfigure [Diablo-D3]
  - Added a couple of things for the start of BeOS compatibility. [theoddone33]
  - Fixed 16->32bpp LUT related bug. [kode54]
  - Added hardcoded alt-enter fullscreen toggle. [theoddone33]
  - Added dialog for why the video mode couldn't be set. [theoddone33]
  - Added circle buffer patch (savestate fix). [zinx]
  - Fixed problem with man page when installing (when man1 directory doesn't
    exist). [hpsolo]
  - Fixed cmd line sound quality. [pagefault]
  - Fixed zlib and libpng issues. [theoddone33, pagefault]
  - Updated libpng version checking [theoddone33]
  - Added -lm to acinclude.m4 so AC_TRY_RUN doesn't return negative on some
    systems looking for libpng. [theoddone33]
  - Overhauled makefile. [theoddone33]
  - Fixed install target; -D should not be used. [theoddone33]
  - Added the name of the start address to the error message that occurs when
    mprotect fails. [theoddone33]
  - Update config.sub. This allows configuration on 64-bit targets, and requires
    autogen.sh to be rerun. [theoddone33]
  - Added HQ2X filter! [MaxSt, pagefault, zinx]
  - Snapshots are now numbered and use the full ROM file name. [Nach]
  - Renamed Linux version to SDL. [pagefault]

We have also greatly improved support for special hardware in ZSNES v1.40.
These require special mention:

  * SuperFX core updates:
      - pagefault
  * SA-1 core updates:
      - pagefault
  * C4 core updates:
      - Research: anomie
      - Main Code: Nach
      - Special thanks to The Dumper and TRAC!
  * DSP-1 core updates:
      - Data Retrieval: pagefault, Overload, The Dumper
      - Main Code: pagefault, Overload, The Dumper, neviksti, Andreas Naive,
                   _Demo_
      - Integration: MKendora, Nach
      - Processing Code: pagefault, Nach
  * DSP-2 emulation:
      - Data Retrieval: Overload
      - Research: Overload, neviksti, MKendora, The Dumper, CaitSith2
      - Main Code: kentaro-k.21
      - Processing Code: pagefault, kentaro-k.21
      - Special thanks to Lord Nightmare!
  * S-DD1 emulation:
      - Data Retrieval: The Dumper, Dark Force, zsKnight, Gary Henderson
      - Research: Andreas Naive
      - Main Code: anomie
      - Processing Code: _Demo_, Nach
      - Special thanks to all the other developers and users who worked on this
          hard project!
  * ST010 emulation:
      - Data Retrieval: The Dumper, MKendora
      - Main Code: The Dumper, Overload, Feather, Nach
      - Processing Code: The Dumper
      - Code Fixes: pagefault
  * Sufami Turbo support (preliminary):
      - Nach
  * SD Gundam G-Next and Same Game expansion pack support:
      - Nach


............................................................
v1.36 - July 15, 2002
............................................................

  - Fixed Gunforce, added invalid HDMA modes. [_Demo_] (Thanks Overload!)
  - New BRR decoding method, this should resolve all the sound issues introduced
    in 1.35 and fix new ones. (Noise simulation isn't used anymore) [_Demo_]
  - Fixed another bug with command-line netplay. (Windows only) [pagefault]
  - Fixed hang in NBA Live 95 and 96. [_Demo_] (Thanks Overload!)
  - Fixed sound not working on first run. (Windows only) [pagefault]
  - Fixed some more mode 4 issues in the new gfx engine. [pagefault]
  - Added offset mode disable toggle to 8-bit new gfx engine. [pagefault]
  - Fixed SPC hang in 90 Minutes European Prime Goal by clearing spcram.
    [_Demo_]
  - Updated fix for Clayfighter to fix some bugs in battle. [_Demo_]
  - Fixed crash with certain games. (SDL/*nix only) [theoddone33]
  - Added better OBC1 detection. [_Demo_]
  - Special hack for Samurai Showdown IRQ problem. [_Demo_]
  - Special hack for Kamen Rider menu, requires special latch reading. [_Demo_]
  - Special hack for Super Famista 1 & 2 SPC bugs. [_Demo_]
  - Fixed some more bugs in video code. (Thanks Perryman for the video table)
    (Windows only) [pagefault]
  - Fixed Digital Devil Story hang by modifying the spc code.
    You must start a new game for the fix to work. [_Demo_]
  - Modified work ram init value to 0x55. (Thanks TRAC)


............................................................
v1.35 - June 23, 2002
............................................................

  - Fixed triple buffering corruption on some VESA 2.x video modes, a very nasty
    bug which accidentally slipped into version 1.337. [stainless] (DOS only)
  - Added full scanlines to 320x256x8b Mode-X.  Uses the same timings
    as the 256x256x8b full scanlines, so it may or may not work
    correctly depending on your video card. [stainless] (DOS only)
  - Linked the EAGLE engine to the filtered GUI option and fixed
    guassian interpolation which has been broken since version 1.71b.
    [stainless, kode54] (DOS only/all ports)
  - Cleaned up the 320x480x8b and 320x240x16b blitters and added
    MMX support to 320x480x8b for a nice speed increase. [stainless] (DOS only)
  - Added 640x400 alternatives to 512x384 video modes for video cards which
    don't have them.  Added a small screen option to the 512x384 and 640x400
    video modes with MMX support.  Also added a "wide screen" option to
    640x400 video modes. [stainless] (DOS only)
  - Added a full screen option to the 320x480 video modes, along
    with a basic interpolation to 320x240x16b and 320x480x16b
    Full screen in 320x480x16b has full/25%/50% scanlines and
    interpolation has full scanlines. [stainless] (DOS only)
  - Added experimental 800x600 video modes.  Fixed 'n' command-line
    option to allow toggling of 25%/50% in addition to full, also
    cleaned up the command-line options message and the config file.
    Noticed some video modes were way off-centered, fixed that
    too, should now be perfect. [stainless] (DOS only)
  - Fixed printing of MMX enabled message on the GUI background if you checked
    MMX SUPPORT under CONFIG -> OPTIONS.  Also, if you check MMX SUPPORT by
    using the keyboard shortcut it will now attempt to actually detect MMX
    before enabling it. :) [stainless, pagefault] (DOS only)
  - Command line support in windows port [StatMat]
  - Fixed problem when some video modes were not being saved. (Windows only)
    [pagefault]
  - Lots of updates to Linux/SDL version, including sound fixes, video code
    updates and other misc bugs. [theoddone33, Thorsten Glaser, Wilbern Cobb]
  - Fixed gamma in PNG snapshots. [pagefault]
  - Added several new goodies to the GUI, which include a force 8-bit sound
    option (fixes a few cards under WinMe), a second water effect, and
    an experimental smoke effect. [stainless] (DOS only/all ports)
  - Fixed problem with sound getting disabled when running command-line
    network games. (Windows only) [pagefault]
  - Updated video code in Windows port to properly display 239 line modes.
    (Windows only) [pagefault]
  - Commented, unified, and cleaned up the Mode-Q and Mode-X blitters.  I did a
    major overhaul to the DOS video code, I cleaned up and reorganized it alot,
    and there seem to be no problems as of yet. [stainless, TRAC] (DOS only)
  - Fixed a bug in sprite priority rotation. (fix damage in FFMQ) [TRAC]
  - Fixed long delay between battles and fixed flickering colours
    on map in Front Mission. [pagefault]
  - Fixed hang when picking up apples in Equinox. [pagefault]
  - Fixed keyon bug in DSP code, fixes sounds in Flaskback 3 Language Edition
    (Thanks neviski) [_Demo_]
  - Fixed "disco colours" in NBA Hangtime when the ball drops. [pagefault]
  - Fixed an NMI issue with register $4212, fixes hang in Cu-On-Pa,
    Bubsy and others. [pagefault]
  - Fixed a mode 4 bug in the new graphics engine that was causing
    the title screen in The Lost Vikings to be scrambled. [pagefault]
  - Added support for Super System arcade system, set DIP switches
    in add-on's menu in GUI.  Games MUST be zipped in order to load. [pagefault]
  - Added special support for Earthworm Jim 2 sound effects. [_Demo_]
  - Added hack for Deaetonosama Apareitiban. [_Demo_]
  - Fixed super scope position reading. [_Demo_]
  - Modified a few timing things. [_Demo_]
  - Fixed some 65816 instructions in processor emulation mode. [_Demo_]
  - Added special timing for Grand Prix 3. [_Demo_]
  - Modified sound decoding another time (helps various noise sounds like DQ6).
    [_Demo_]
  - Modified joypad reading for VS Collection. [_Demo_]
  - Special modification for Bahamut Lagoon and Clay Fighter to delay write
    to the hdma register. (those games need dma delay implemented) [_Demo_]
  - Lots of other minor fixes and things we forgot to mention.


............................................................
v1.337 - September 30, 2001
............................................................

This release is dedicated to zsKnight and his family

  All ports
  ---------
  - Added a customizable key to toggle display of the game clock [pagefault]
  - Added support for up to 100 SPC file saves per game [pagefault]
  - Added customisable keys to increment and decrement the save state slot
    [pagefault]
  - Added a customisable key to quickly save an SPC file [pagefault]
  - Added force NTSC/PAL and force HiROM/LoROM options to GUI [pagefault]
  - Added a customisable key to toggle the display of the FPS counter
    [pagefault]
  - Added keyboard shortcuts to video options menu [pagefault]
  - Added feature to automatically increment save state slot after each save
    [pagefault]
  - Added new 8-point sound interpolation and two new lowpass filters
    (requires a fast processor, 8pt interpolation and high quality
    lowpass requires an MMX processor) [kode54]
  - Fixed an annoying bug when the menu selection bar would be floating
    in thin air (Thanks to EMu LoRd for pointing this out) [pagefault]
  - Fixed MMX toggle option, now saved when you restart ZSNES [pagefault]
  - Fixed freeze/crash when saving SPC files [pagefault]
  - Fixed filtered GUI option with 2xSaI enabled not refreshing the screen
    [pagefault]
  - Fixed graphics when reseting a game with 2xSaI engine on and the FPS
    counter and/or game clock on [pagefault]
  - Fixed Vortex, Clayfighter 2, Mr. Nutz, Tenchi Wo Kurau Sangokushi
    Gunyuden and others now working again [_Demo_]
  - Fixed Umi Hara Kawa Se and Tin Tin in Tibet [_Demo_]
  - Fixed LoROM/HiROM detection code, Star Trek: Deep Space Nine and
    possibly others now working [pagefault]
  - Fixed Front Mission: Gun Hazard and Pocky and Rocky, now working again
    [_Demo_]
  - Fixed Neugier and Battle Grand Prix freezing after a certain point
    in the game. [_Demo_]
  - Fixed bug in rom header information and checksum status display,
    fixes Tales of Phantasia and others [pagefault]
  - Fixed Marko's Magical Football copy protection [pagefault]
  - Fixed problem with Filtered GUI enabled and parts of game screen
    would show up in GUI menus [pagefault]
  - Fixed frameskip command-line offset [pagefault]
  - Fixed Sim Earth, now loads but map is still not visible [_Demo_]
  - Fixed crash in Home Alone when starting a new game [_Demo_]
  - Fixed sprites in Super James Pond 2 and Kirby Avalanche (Thanks
    Snes9X for the info) [_Demo_]
  - Fixed 256x239 SNES resolution offset in Windows and Linux ports, games that
    use this resolution should now be displayed properly in these ports [_Demo_]
  - Fixed freeze in Accelebrid after a few seconds of gameplay [_Demo_]
  - Fixed cursor getting messed up in Windows and Linux ports when using
    a 16-bit desktop [_Demo_]
  - Fixed bugs when switching between fullscreen and windowed modes with
    fullscreen button in Windows and Linux port [pagefault]
  - Fixed Triple Buffering and vsync options so they can't be enabled at
    the time (Triple buffering includes vsync automatically) [pagefault]
  - Fixed sprite layer disappearing when changing screenshot formats or
    moving the F1 menu [pagefault]
  - Fixed a clipping offset bug in the new gfx engine [pagefault]
  - Fixed BG3 issue with sub-screens in new graphics engine, fixes gfx
    in Bahamut Lagoon's intro and lots of other games [pagefault]
  - Fixed timing problem in Clock Tower that caused it to freeze
    randomly in-game, implemented a hack for now [pagefault]
  - Fixed Cu-On-Pa freezing when starting a new game (Thanks to Lordtech
    for the help) [_Demo_]
  - Optimised global code base, most people should see a performance increase
    [pagefault, stainless]
  - Moved vsync option from game options menu to video options [pagefault]
  - Improved S-DD1 decompressed pack loading and execution, increases
    performance in S-DD1 decompressed pack games [pagefault]
  - Lots of debugger fixes and additions [byuu, bongo]
  - Removed disable screensaver text from DOS and Linux ports [pagefault]
  - Updated water effect code to using lighting effects [stainless, kode54]
  - Improved SPC700 sample processing, fixes sounds in numerous games [_Demo_]
  - Disabled H-DMA for Bahamut Lagoon and Mortal Kombat, fixes some gfx problems
    [pagefault]
  - Changed default keyboard layout for player 2 as some keys were overlapping
    player 1 (Oops!), If you were having problems buying things in FF4 or
    in other games make sure to change your keys for player 2. [pagefault]
  - Cleaned up config file in Windows and Linux ports, removed DOS
    related comments [pagefault]
  - MMX option now checks for a MMX processor when enabling it in the GUI,
    also no longer crashes on processors without a cpuid when detecting MMX
    [pagefault, kode54]
  - Last netplay IP address used is now saved in Windows and Linux ports
    [pagefault]
  - Reorganized sound menu; removed sound interpolation checkbox and made
    a new list of different types of interpolation: gaussian (original
    interpolation with enable interpolation option), cubic spline and 8-point
    interpolation. Also made a new list of lowpass filters. [pagefault]
  - Removed FPU copy from -? option on command line message, since it is
    no longer supported. Also cleaned up that message in general [stainless]
  - FPS at program start option no longer enables FPS display when auto
    framerate is not enabled [pagefault]
  - Updated video interpolation code, now looks better than before [kode54]
  - Lots of misc GUI fixes and cosmetic tweaks [pagefault]
  - (UPDATE) Added surround sound to Windows and Linux ports, updated filter
    in DOS port (This was left out of the previous whatsnew file) [kode54]

  DOS v1.337
  ----------
  - Added grayscale mode toggle to GUI [pagefault]
  - Added support for 5 SNES gamepads on LPT1 [ZDrumm]
  - Added two new 256 color linear VGA video modes, 256x224 and 256x240
    [stainless]
  - Added proper gamma correction, now ranges from 0 (1.0) to 15 (~2.0)
    in 8bpp modes [stainless]
  - Fixed Filtered GUI option, now works [pagefault]
  - Fixed full scanlines disappearing in some modes [pagefault]
  - Fixed a handful of bugs in the joystick code which may cause the joystick
    not to work if it has a driver installed under Win9x control panel
    [stainless]
  - Fixed date problem in S-RTC games not reporting the proper day of the week
    [stainless]
  - Fixed issue with some sound blaster compatible cards not working
    properly in the DOS port [kode54]
  - Reordered video modes in alphabetical order [stainless]
  - Improved SNES pad reading routine, any speed hit now should be
    minimum when using a snespad adaptor [pagefault]
  - Improved interpolation performance [stainless]
  - Default keys for player 1 are now the same as Windows and Linux ports
    [pagefault]
  - You can now use / in command line options in addition to the
    previous - character [stainless]

  Win v1.06
  ---------
  - Added option to toggle the trap mouse cursor feature which prevents
    the mouse cursor from leaving the window by accident [pagefault]
  - Added 640x480 DS WIN; 1024x768 DR FULL; 1280x960 S/DS WIN, S FULL;
    1280x1024 DR/R/DS WIN and FULL resolutions [pagefault]
  - Added a more meaningful message when changing to a resolution
    isn't supported [pagefault]
  - Fixed problem with SRAM not being saved when pressing ALT-F4 in game
    [pagefault]
  - Updated icon yet again, looks really nice. [enigMa]
  - Fixed possible crash when exiting [pagefault]
  - Fixed bug when scrolling in scrollboxes in the GUI would not trap
    the mouse cursor inside the scrollbox like the DOS port does [pagefault]
  - Either alt key can now be used when using the alt-enter combination
    to switch to fullscreen [pagefault]
  - Removed triple buffering option from windowed video modes (it does
    not work in windowed mode) [pagefault]
  - Optimised some Windows port specific code, should give a small speed
    boost for most people [pagefault]
  - Rewrote mouse input code, much more efficient now. [pagefault]
  - Reordered video modes in alphabetical order; removed 64x52 and 128x112
    resolutions (Thanks to Terrorcide and McGuiver for helping me test this out)
    [pagefault]
  - Improved performance in 32bpp windowed modes [pagefault]
  - Rewrote some of the audio code to be much more efficient, also added
    MMX optimisations [pagefault, kode54]
  - When switching to windowed mode from fullscreen, the window position
    is now remembered [pagefault]
  - Removed large sound buffer and exclusive mode option, they shouldn't
    be needed anymore [pagefault]
  - Now uses idle task priority when in GUI and window is not active,
    should also smooth task swtiching on slower computers [pagefault]
  - (UPDATE) Fixed server IP bug when using zbattle.net or command-line
    options to connect [pagefault]

  Linux v0.37
  -----------
  - Added autoconf support for easy compiling [Diablo-D3, amit, theoddone33]
  - Fixed sound buffering in linux port to improve sound on some cards
    [Diablo-D3]
  - Implemented S-RTC time functions, FEoEZ and other S-RTC games will
    now report system time in game [pagefault]
  - Now supports compiling with gcc 3.0.0 [EvilTypeGuy]


............................................................
zsKnight Leaves - July 23, 2001
............................................................

I'm sorry to say this, but this marks my permanent leave from the ZSNES project,
anything related to this, and emulation overall. The reason why is that my dad
just passed away today (he died in his sleep, which is strange since he was
perfectly healthy yesterday night), so I'm going to have to spend more of my
energy devoted to helping my family. My dad is also the main person who provides
the finances to the family (since my mom doesn't work), plus I still have about
2 more years to go before I graduate from university, so my immediate future
doesn't look that great because with my dad gone, that would mean that I need to
put up more responsibility towards taking care of the family instead of
studying. But I just hope that everything will go well. Thanks to all you
supporters for everything. Sorry for the lack of a proper goodbye though, so
I'll probably update once more after I get out of this shock in another day.

- zsKnight


............................................................
v1.31b - July 3, 2001
............................................................

  All ports
  ---------
  - Fixed Super Punchout, now working [zsKnight, _Demo_]
  - Fixed SD Gundam GNext again [_Demo_]
  - Final Fantasy Mystic Quest now works again [zsKnight]

  Win v1.04
  ---------
  - Fixed grayscale toggle [pagefault]
  - Updated icon again for black backgrounds [enigMa]

  Linux v0.31
  -----------
  - Now compiles and runs on QNX6 systems [TheAlien]


............................................................
v1.31 - June 27, 2001
............................................................

  All ports
  ---------
  - Fixed Mode 4 offset bug (Fixes Bust-A-Move, Puzzle Bobble possibly others)
    [zsKnight]
  - Emerald Dragon is now working [_Demo_]
  - Fixed Last Bible 3 DMA problem (Thanks to SNES9x for the info) [_Demo_]
  - Fixed Super Robot Was Ex (Thanks again to SNES9x for the help on this)
    [_Demo_]
  - Moved disable SPC emulation option to sound menu where it should be
    [pagefault]
  - Fixed Wizardry 4 and Honkakuha Igo Gosei, interleaved funny [_Demo_]
  - SD Gundam GNext no longer crashes ZSNES, and actually is playable now.
    [_Demo_]
  - Spindizzy worlds should work again [_Demo_, zsKnight]
  - Dezaemon sprites working now, had to clear OAM address when first
    address byte is written to [zsKnight]
  - Power Rangers the Movie working, was reading from register 2144 [_Demo_]
  - King of Rally now working [_Demo_]
  - Emerald Dragon working, added a hack to disable ENVx for that game
    [_Demo_, zsKnight]
  - Full Throttle Racing working, fixed a bug with the wai 65816 instruction
    [_Demo_, zsKnight]
  - Renamed black and white mode to grayscale mode [pagefault]
  - Got Traverse Starlight and Prairie to go further, but it
    still freezes after several scenes [zsKnight]
  - Mario RPG minecart Mode 2 scene working better now [zsKnight]

  Win v1.03
  ---------
  - Added disable screensaver feature to disable screen saver while
    ZSNES is active [pagefault]
  - Fixed yet another DirectInput slowdown [pagefault]
  - Added joystick POV hat support (Thanks to kode54 for testing and
    fixing my code) [pagefault, kode54]
  - Added error messages and directions if DirectX 8.0 is not installed [kode54]
  - Fixed another Windows 2000 freeze on exit bug [pagefault]
  - Fixed BSOD when loading roms on some systems [pagefault]
  - Hopefully fixed a crash when multiple roms where in a single zip
    file (only one rom can be loaded per zip file) [pagefault]
  - Fixed a possible crash when loading/continuing a game (Thanks to
    Metus for pointing this out) [pagefault]

  Linux v0.29
  -----------
  - No changes


............................................................
v1.30b - June 16, 2001
............................................................

  All ports
  ---------
  - Support for Star Ocean S-DD1 decompressed pack is now enabled. [zsKnight]
  - Fixed bug in H-DMA code, fixes Hook and Bugs Bunny and maybe others
    (Thanks to Gary of Snes9X for help on this) [_Demo_]
  - Updated documentation [Matt Kendora]
  - Fixed new gfx mode checkbox in options menu [pagefault]

  Win v1.02
  ---------
  - Added 800x600 DR FULL mode (scroll down to the bottom of the mode
    list to see it)
  - Fixed timing problem in games when 58 seconds was 1 minute in ZSNES
    [kode54, pagefault]
  - Fixed voices in ToP opening and Star Ocean [pagefault]
  - Fixed another DirectInput slowdown [pagefault]
  - Fixed joystick 5, it should be working now [pagefault]
  - Optimised code some more, giving 3-5 FPS boost on most systems [pagefault]


............................................................
v1.30 - June 13, 2001
............................................................

  All ports
  ---------
  - Bubsy 2 working again [zsKnight]
  - Batman: the return of the joker working now [_Demo_]
  - Sound Novel T-Cool and Derby Stallion 96 memory mapper added [_Demo_]
  - Fixed BRR block header bug (fixes Raiden Densetsu, Chrono Trigger,
    Gundam Wing: Endless Duel, and a few other games) [_Demo_]
  - Updated documentation [Matt Kendora]
  - New whatsnew.txt format [pagefault]

  Win v1.01
  ---------
  - Updated icon [enigMa]
  - Added 1280x960 DR, DR FULL modes to Windows port [pagefault]
  - Fixed random crash when loading roms in Windows port [pagefault]
  - Rewrote resolution switching code [pagefault]
  - Window now moves much smoother and faster [pagefault]
  - Readded large sound buffer option [pagefault]
  - Fixed CPU usage when window was minimized [pagefault]
  - Fixed multiple instances when window was minimized [pagefault]

  Linux v0.29
  -----------
  - OpenGL support [hpsolo]
  - Bilinear option (w/ filtered GUI) [hpsolo]
  - Fixed video mode descriptions (zsnesl.cfg) [hpsolo]
  - Resizable windows [amit]
  - Filter options (scanlines, 2xSaI, etc) for OpenGL modes [zinx]
  - Many more video modes for OpenGL, including full screen [hpsolo]
  - Joystick POV hat support [hpsolo]
  - Added support for 5th Joystick [hpsolo]


............................................................
v1.29, Win v1.00 - June 1, 2001
............................................................

  - Implemented triple buffering in full screen mode (Huge thanks to whatabubba
    for his help on this and cleaning up the code) [whatabubba, pagefault]
  - Fixed top 8 lines being invisible of FFMQ [zsKnight]
  - Optimised DirectDraw code some more giving a 10-15% speed increase
    [pagefault]
  - Fixed black screen when switching windows [pagefault]
  - Improved loading and shutdown time [pagefault]
  - Rock 'N Roll Racing is working again [zsKnight]
  - Fixed Lennus 2's sprites [zsKnight]
  - Almost figured out Wizardry 4's rom format.  It seems like this game
    was incorrectly dumped so everything in it is out of order. [zsKnight]
  - Final Fight 2 is working again [zsKnight]
  - Vsync option now works in triple buffering mode [pagefault]
  - Now shows minimize window animation when minimizing [pagefault]
  - Fixed mouse pointer under full screen mode [kode54]
  - New ZSNES icon in Windows port (Thanks for all your entries) [enigMa]


............................................................
v1.28b, Win v0.99 - May 28, 2001
............................................................

  - Added a filtered GUI option to allow graphics engines such as 2xSaI
    to be used in the GUI [zsKnight]
  - Fixed SA-1 save states [zsKnight]
  - Fixed Breath of Fire crashing bug when loading [theoddone33]


............................................................
v1.28, Win v0.99 - Unknown Release Date
............................................................

  - Added option to allow multiple instances of ZSNES (off by default)
    [pagefault]
  - Fixed Lufia 2 sprite disappearing bug [zsKnight]
  - Fixed quick menu crash problem when the entries other than the
    first one is selected when the load menu is opened [zsKnight]
  - Modified SPC700<->65816 timing again to get Hook working [zsKnight]
  - Added more keyboard shortcuts to GUI [pagefault]
  - Fixed vram read to get Smash Tennis working again [zsKnight]
  - Hopefully fixed lockup when exiting Windows port [pagefault]
  - Added a spc700 timing hack for Super Final Match Tennis until I
    re-write the timing engine later (but not anytime soon though) [zsKnight]
  - Kinda got Rendering Ranger 2 to go further, but this game seems to
    use some picky timing, so this will have to wait until I re-write
    timing in the future. [zsKnight]
  - Removed large sound buffer option since it wasn't really useful [pagefault]
  - Fixed 16bit access to address $001FFF (or equivalent).  Fixes Super
    Tetris 2+Bombliss. [zsKnight]
  - Implemented 128KB sram support.  Dezaemon runs now (but it
    suffers graphics glitches at the moment) [zsKnight]
  - Fixed Wordtris (reading from 002100) [zsKnight]
  - Fixed reset function in William's Arcade Classics [zsKnight]
  - Tuff-E-Nuff works now (another timing hack *sigh* )
  - Added exclusive DirectSound mode option [pagefault]
  - Fixed corrupt graphics in Rock'n Roll racing (reading from invalid memory)
    [zsKnight]
  - Added alternate timer for people having problems with zsnes running too fast
    [bootgod,pagefault,zsKnight]
  - Fixed corrupt graphics in Captain America (also reading from invalid memory)
    [zsKnight]
  - Implemented latest save state selection in Windows port [pagefault]
  - Added v-sync to Windows port (enable in options to use it, should
    fix most graphical tearing issues) [pagefault]
  - Fixed mid-screen OAM updating.  Uniracers works in 2 player mode. [zsKnight]
  - Combined the new header detection method with the old one, producing a
    much better method [zsKnight]
  - Added SA-1 read/write to BWRAM bitmap mode in the lower banks [zsKnight]
  - Fixed "freeze data" text [hpsolo]
  - Fixed SA-1 write to BWRAM bitmap mode.  It seems like this was the
    main cause of the level-up screen not working in Mario RPG. [zsKnight]
  - Fixed cpu usage when ZSNES is in the background doing nothing [pagefault]
  - Re-wrote character conversion 1 for 2bpp, implemented cc1 for 4bpp
    [zsKnight]
  - Fixed vertical high resolution mode for tile priority 1 [zsKnight]
  - Fixed Terranigma overworld glitch in the new graphics engine 16bit engine
    [zsKnight]
  - Enabled RTC in Windows port [pagefault]
  - Moved the Transparent Message option from the Options to the GUI Optns
    section. [pagefault]
  - Added Trainered rom support [zsKnight]
  - Fixed BG4 graphics in certain games (fixes Digital Devil Story) [zsKnight]


............................................................
v1.26, Win v0.97 - May 17, 2001
............................................................

  - OBC1 support broke in a recent CVS update.  Fixed now. [zsKnight]
  - Added full scanlines to the Win/Linux port [zsKnight]
  - Added Mouse Wheel switch [zsKnight,pagefault]
  - Fixed problem with interpolation/2xSaI/scanlines being saved
    in the windows port [zsKnight]
  - Improved 512 byte header support.  This should improve compatibility
    with some games [zsKnight]
  - Added 768x672 and 1024x896 DR, R windowed video modes to Windows port
    [pagefault]
  - Windows port now uses the primary DirectSound buffer [pagefault]
  - Modified 65816<->SPC700 timing.  I hope this doesn't break anything
    [zsKnight]
  - Fixed a vram read behavior problem (fixed Equinox dungeons) [zsKnight]


............................................................
v1.25, Win v0.93 - May 15, 2001
............................................................

  - Fixed cheat menu text when game was not loaded [pagefault]
  - Fixed unlabed checkbox in DOS port [pagefault]
  - DSP1 - Fixed plane controls in Pilotwings [_Demo_]
  - dosintrf.asm - Fixed header detection in the dos port [zsKnight]
  - gui.asm - Video mode checking done at initialization [zsKnight]
  - Enabled mouse wrap in the Windows and Linux ports [pagefault]
  - Fixed full screen mode switch when the user starts ZSNESw before
    selecting any full screen modes [zsKnight]
  - Made default video mode 512x448 windowed in Windows port [pagefault]
  - Prevented enter key from affecting gameplay on returning
    from F1 and F3 menus [zsKnight]
  - Added minimize button to the Windows port [pagefault]
  - Added always on top option in GUI options menu [pagefault]
  - Menu fix for 8bit graphics modes [zsKnight]
  - ZSNESW now remembers the window position on your desktop (can be
    disabled in GUI options) [pagefault]
  - Fixed crashing problem with some IPS's in ZIP's [Teuf, zsKnight]
  - Ported to DirectX 8.0 which fixed some problems and improved performance
    (DirectX 8.0 is now required to run ZSNESW) [pagefault]
  - DSP1 - Fixed map offset problem in Pilotwings [zsKnight]
  - DSP1 - Fixed rings being mysteriously passed problem in Pilotwings
    [zsKnight]
  - Fixed DirectSound crash when a normal priority buffer could not be acquired
    [pagefault]
  - Fixed DirectInput compatibility on some computers [pagefault]
  - Optimized DSP1 code for better performance [teuf]
  - Added proper full main/sub-screen window clipping in the new gfx 16bit
    engine (fixed Illusion of Gaia/DKC2 selection screens, etc) [zsKnight]
  - Added checksum/header name/chip type header display upon game load
    [zsKnight]
  - Added PNG snapshot support which is selectable in the F1 menu [Matt Kendora]
  - Stunt Race FX old graphics engine force fixed [zsKnight]
  - Fixed MegamanX copy protection schemes [zsKnight, Matthew Kendora]
  - Fixed TopGear 2 PAL version from detecting a PAL system [zsKnight]
  - Implemented OBC1 chip (for Metal Combat) [zsKnight]
  - Fixed Mode 7 bug in Super Ghouls and Ghosts [zsKnight]
  - Added turbo keys for L & R keys [zsKnight]
  - OBC1 emulation support.  Metal Combat works! [zsKnight]
  - You can now customizable the colors to the title bar and window colors.
    [zsKnight]
  - Optimised global code to provide up to a 50% speed increase on it on most
    processors [pagefault]
  - Added black and white mode to Windows and Linux ports [pagefault]
  - ZSNESW is now packed with the newest version of UPX [pagefault]
  - Cleaned up the cfg files for windows/linux ports [pagefault]
  - Fixed command-line crash in the Windows port (Thanks Matt Kendora)
    [pagefault]
  - Save/Load state now displays which state is being loaded [hpsolo]
  - Added double buffering support to Linux port [teuf]


............................................................
v1.20b, Win v0.88 - April 30, 2001
............................................................

  - Final Fantasy Mystic Quest works again.
  - Fixed Empire Strikes Back crashing bug in the millenium falcon
    sequence (hopefully this will fix some other games too)
  - Removed all self-modifying code in ZSNES.  This will make ZSNES crash
    a lot less on certain systems, especially during mode 7 sequences.
    Thanks Ivar!
  - Implemented S-RTC chip, using the system clock as the actual time
    (The game will make you set the time though, but it will just be replaced
    with the system time in-game).  Thanks to John Weidman and Dark Force
    for the info on this chip!
  - Fixed crashing bug in certain mosaic scenes (eg. FF3 Phantom Forest)
    in the new graphics engine
  - Fixed a nasty crashing/corruption bug in the new graphics engine
    (both 8bit and 16bit)
  - SPC7110 emulation!  This is based on the information reverse engineered by
    the hard working folks at dejap translations, Dark Force and John Weidman.
  - Altered HiROM/LoROM detection a bit - Fievel goes West works now
  - Open source preparations [teuf]
  - In-game clock working for the windows port.  [kode54]
  - Fixed a memory leak problem in the new graphics engine [TRAC]
  - Added Cubic Spline Interpolation [Anti Resonance]
  - Fixed a assign/compare size bug in the new graphics engine [TRAC]
  - Fixed b flag setting in BRK instruction in 6502 emulation mode [zsKnight]
  - Added SPC7110 logger file output to help in the filesize clipping of
    the SPC7110 data files [zsKnight]
  - Fixed a memory leak bug, fixing that nasty Win2K crash bug [Matthew Kendora]
  - Fixed key combination release [Maxim]
  - Fixed source code warnings/added necessary includes [Maxim]
  - Added high priority mode for Windows 2000 users and slower
    computers (works on Windows 9x as well) [pagefault]
  - Added large sound buffer option for people having DirectSound problems.
    [pagefault]
  - Fixed problem with ZSNESW and Opera causing a BSOD. [pagefault]
  - Fixed up error reporting for people experiencing problems. [pagefault]
  - Improved performance on 3dfx cards by compiling with DirectX 8 SDK.
    [pagefault]
  - Fixed a sound problem with people with messed up config files. [pagefault]
  - Fixed FF3 flashing line problem [zsKnight]
  - Fixed mysterious sprite disappearing bug in the new graphics engine
    [zsKnight]
  - Reduced noise in ToP opening theme.  It works fine in the DOS port,
    but the windows port still seems to produce some static, probably
    because of the way how sound is updated in that port. [zsKnight]
  - Updated Super 2xSaI and Super Eagle code (should be much faster
    now on MMX processors) [Kreed, added by pagefault]
  - Added gzip support [teuf]
  - Added support for ViBRA16 cards [Peter Santing]
  - No longer requires zlib.dll file, now statically linked. ZSNESw won't crash
    anymore if you try to load a .zip file without that dll file. [pagefault]
  - Now compiled using an optimising compiler [pagefault]
  - Almost a fully re-written DSP-1 emulation engine!
    [zsKnight, theoddone33, pagefault, teuf].  Also thanks to CrASH_Man
    for the 3x3 inverse matrix formula.
  - Fixed memory leak problem in the windows port during exit [pagefault]
  - And more ...


............................................................
Source Code Released - April 2, 2001
............................................................

The ZSNES Sources have finally been released in the CVS repository of the
sourceforge page. We also would like to welcome Teuf as a member of the ZSNES
team as an assistant coder! He's helped us with quite a lot in the past while,
including (but not limited to) setting up the Source Forge page, helping us to
write the open source documentation, fixing up the ZSNES sources to not require
a custom version of nasm, organizing the sources into directories, modifying the
make file, etc. With the sources released, we also hope to release an updated
binary soon. Click on the Sourceforge link on the left side of the screen to
access the sources. The sources will also be available in a ZIP file for those
who don't want to use CVS.


............................................................
v1.17b - December 27, 2000
............................................................

  * A nasty bug has crept into the DOS version in the 8-bit video modes,
    so a fixed version (v1.17b) is released (it has the same filename as
    v1.17 so just overwrite it).


............................................................
v1.17, Win v0.85 - December 25, 2000
............................................................

  - Added slow-down key.  You can configure it in Misc -> Game Keys
  - Invulnerability bug of the 3rd boss in Demon's Crest in the
    good checksum roms is fixed through rom mirroring
    I also noticed that this fix is the same as what the author of SNEeSe
    told me before about on some MegamanX1 roms, but I never had that rom
    so I never added this until now.  Guess that rom is also fixed too.
  - Changed memory initialization values - Lost Viking 2 works again
  - 65816: Fixed WAI instruction timing with HIRQ's
    Top Gear 2 - 2 player mode works now
  - Improved IRQ re-execution timing precision
  - Starfox 2 beta now runs with sound!
  - Fixed flickering problem in Starfox 2 beta
  - Added Mode 2 16x16 tile offset per tile mode
  - (Win32) Improved the timestamps on UDP headers.  This should (hopefully)
    solve those out of sync (where both sides see different things) problems
    with certain connections (ie. T1/LAN connections) in netplay.
  - (Win32) Added a big notice in netplay.txt.  For all of you who used
    netplay and had poor experiences with a ping time of less than 300ms,
    read it!  Also added a more realistic system requirements description
    for decent netplay in netplay.txt rather than a cpu speed estimate.
  - Changed reverse stereo method to become invisible to the sound
    registers in emulation


............................................................
v1.14, Win v0.80 - November 27, 2000
............................................................

  - Fixed configuration files from removing spaces from directory names
  - (DOS) Fixed 640x480 vesa2 scanline+interpolation display problem
  - (Win32) Improved Windows speed in 32-bit windowed mode.
    Should give around an 18% speed increase in FPS.
  - (Win32) More netplay improvements.  Shouldn't be as jumpy when
    one side lacks input.
  - (Win32) Starting netplay will now force the max frameskip to 3
    if it is less than it and also force on auto frameskip.
  - (Win32) MMX optimised netplay with back buffer enabled.
  - (Win32) Fixed load state in netplay to load properly instead
    of sometimes stalling for no reason
  - (DOS) Accidently deleted the code to initialize IPX.  Fixed now.
  - Fixed a configuration loading problem when loading ZSNES from
    a different directory.
  - (Win32) Attempted to fix those out of sync problems (although
    I don't know if it's fixed now since those problems rarely happen to me)
  - (Win32) Displayed the current filename in the load window
    for those files with extra long names.
  - (Win32) Added nickname support to NetPlay.  There's a 9 character
    nickname size limit.
  - (Win32) Added actions to chat (similar to how mIRC works - use
    /me <action> )
  - (Win32) Nicknames can be changed in the windowed chat by typing
    /nick <new nickname>
  - Added a small buffer to the in-game chat to allow up to 5 chat
    strings displayed at once.
  - Local chat strings now appear in that buffer
  - Thickened black borders on the 5x5 font
  - Extended in-game chat length by around 30 characters
  - Fixed up Interpolation


............................................................
v1.12, Win v0.74 - November 14, 2000
............................................................

  - (Win32) Hopefully fixed up those green display bugs in
    scanlines/2xSaI in 1:5:5:5 16bit modes.
  - (Win32) Improved lost packet recovery time and reduced the number of
    lost packet stalls in UDP netplay (should produce more fluid netplay)
  - (Win32) Fixed up crashing bug in Tales of Phantasia with a 512 byte header
  - Extended filename length of the Quick Menu
  - (Win32) Hopefully fixed up the mouse wheel support for certain mice
  - Temp .ZIP directory is now cleared if it exists prior to another
    .ZIP file being loaded.
  - (Win32) Improved DirectInput error handling


............................................................
v1.11, Win v0.72 - November 12, 2000
............................................................

  - (Win32) ZSNESw won't crash anymore if you don't have a soundcard
    or if DirectSound fails to initialize.
  - (Win32) Fixed a nasty performance bug with certain types of
    joystick/drivers installed, causing the FPS to be slower for no reason.
  - (Win32) Wrote an MMX optimised blitter for 16bit non-D windowed
    and full screen modes.
  - (Win32) Added simple wheel mouse support.


............................................................
v1.10, Win v0.70 - November 7, 2000
............................................................

  - Fixed games that turns on the x239 resolution (eg. Chrono Trigger
    battles) when scanline mode is enabled
  - (Win32) Fixed up crashing bugs on extra long filenames with underscores
  - (Win32) Hopefully fixed the odd colored interpolation in 1:5:5:5 16bit
    color settings
  - (Win32) Hopefully won't crash anymore when the temporary directory
    exists prior to unzipping a .zip file
  - (Win32) Fixed loading of .zip files with more than 2 '.'s in the
    filename.  Thanks to DCX for helping us troubleshoot this.
  - (Win32) Fixed up short filename saveram/save states loading when
    the long filename has spaces in it.
  - Added TCP/IP Support.  It is recommended that for playable netplay,
    you'd have an average ping time of less than 300ms (type
    ping <ip address> in dos) and that packet loss is minimal for TCP/IP
    (not UDP).  At the moment, you cannot have more than 2 connections
    Thanks for all the testers for testing this, especially DooMStalK,
    GreenImp, and TeleKawaru!  Also added back buffer support.  This
    will sacrifice cpu power for netplay to make it much more playable.
    WARNING: High cpu speed recommendations (~450mhz+).
             Please see netplay.txt for details.
  - Added save states to netplay (just use them like you normally do)
  - Save Ram is now defaulted to load/save on the server's side
    Save Ram are not supported in SA-1/SuperFX games due to their size,
    but you can use save states instead in that case.
  - Increased chat line length in the out-of-game chatbox by a lot
  - Partly increased the chat line length in-game
  - in-game chat text now stays longer on-screen by 2 seconds
  - Added reset in netplay
  - Fixed up movie recording feature
  - (Win32) Mouse shouldn't get stuck on the left side anymore.
  - (Win32) Video mode 3 (256x224FS) shouldn't crash anymore.  Thanks
    to kode54 for his assistance on the above 2 bugfixes.
  - (Win32) Fixed the instability bug where the window can sometimes
    start shaking for no reason and takes away windows resources.
  - (Win32) Re-wrote keyboard character input routines
  - Fixed up FF2(4)'s music in lower sampling rates
  - (Win32) Coded in the UDP protocol as a replacement for TCP/IP.
    Some network configurations won't work with UDP.  However, it is strongly
    recommended that you use UDP if you can because of the speed increase.
    In order to disable UDP and use TCP/IP, both sides must de-select UDP.
  - (Win32) Added a small multiplayer game list (multi.txt)
  - Added an updated Windows FAQ, courtesy of TuxedoMsk of VGNetwork
    who updated it.
  - Added a more user friendly input selection routine (changed Direct Input
    to Keyb/Joystick and it also auto-sets keyb/Joystick when you set a key)
  - Hopefully fixed up the sprite priority problems (eg. FF2/4's damage points)
  - (Win32) Added rewind support for up to 8 levels (in 8 second intervals)
    (NOTE: Windows Port only! - Sorry DOS Port users).  In order to activate
    this, assign a key to the Rewind Key in the Misc -> GameKeys option.
  Note: Netplay plays really nice as long as the net connection is not
        unstable, both sides have a fast cpu  (speed requirements depend
        on the game), and at least have a 28.8 connection.
  *** PLEASE READ ZSNESW.TXT IF YOU ARE STILL HAVING PROBLEMS WITH
      THE WINDOWS PORT


............................................................
v1.01 - September 9, 2000
............................................................

  - Fixed a problem with offset per tile mode with MMX2 in the new 16bit engine
  - Fixed crashing problem in MMX2 (Win port)
  - Removed clock option (Win port)
  - Disabling the new graphics 16bit engine is now properly saved
    in the configuration files
  - Added the win port version number to the about box (Win port)
  - Fixed the % of execution problem in IPX/Modem modes


............................................................
v1.000 - September 1, 2000 - First Windows Release
............................................................

  - Implemented C4 emulation :
      - C4 Sprite structure -> OAM conversion routines
      - Sprite Rotate/Scale ability
      - Sprite disintegrate function
      - All in-game used math co-processor functions (hopefully)
      - Both wireframe modes
      - There are still some problems with C4 emulation, but I'd
        consider them to be quite minor to just leave them there.
      Thanks to StarCreator for recording a bunch of movies off
        of the real snes for me to compare!
  - Tweaked ADSR a bit
  - Decreased envelope when key on is issued while sound is still playing.
    This fixed static/popping sound bugs that affected many games.
  - Added the ability to select the Add-on device (Snes Mouse/Super Scope)
    from the GUI through the Add-on option in the Config Menu
  - Added a hack to allow the mouse to control the cursor in Lethal Enforcers
    (Press '7' 4 times to activate or select it from the Add-on option in the
    Config Menu).  Unfortunately, this method has problems (ie. mouse moves
    things that it shouldn't) but it should be good enough, especially for
    those who asked for this.  I doubt this works in LE2, however.
  - Added a manual load entry box so that you can type in the
    filenames/directories manually or type in part of the filename and the GUI
    will seek to whichever filename contains or closely contains that part
  - Pharos coded a water effect, getting help from Scott Scriven's
    water effect code.
  - You can enable/disable the Water Effect and Snow Effect from the
    GUI Options (MISC Menu in the GUI)
  - Implemented Sprite Windowing to the new gfx 8bit engine.  This
    completes all the features that I have planned for that engine.
  - Fixed a really nasty stereo bug that caused volume levels/pans
    to sound completely off on one of the speakers
  - Added player 5 as a normal player instead of just being available
    in modem/ipx play
  - Implemented an option to turn in-game messages/fps display to be transparent
  - Added a Set Keys feature to the Input Routines in the GUI that
    allows you to set all of the standard SNES keys all at once
    instead of clicking on the inputs separately to set them
  - Ported the new graphics 8bit engine to 16bit:
      - All the standard snes features from the 8bit engine
      - Works with all 16bit resolution modes/effects
      - Ported high resolution Mode 7
      - Added proper main/sub screen support and windowing support
      - Added all transparencies modes
      - Added Direct Color Mode7
      - 2xSaI and 50/75% scanlines can now co-exist with high resolution modes
      - This is now the default engine for 16bit.  Some games won't
        work well with this engine such as some SuperFX games (eg. Stunt
        Race FX in the menus).  You can switch back to the old graphics
        engine by pressing the '8' key.
      - Implemented a dual cache system in the tile modes.  I don't know
        how much of a speed increase this gives since my system can already
        run the old graphics engine at full speed and framerate.
      - Full 15bit transparencies for MMX cpus only.
  - High Resolution Mode7 can be toggled on/off in the Video Options.
    It is disabled by default since this feature requires a fast CPU.
  - Added 48khz sound sampling rate
  - Tweaked VBlank timing  a bit
  - Tweaked 65816 CPU cycle execution a bit
  - Added Kreed's Super 2xSaI engine.  It's written in C,
    so it requires a really fast cpu to run it.
  - Added picture preview to the save states in the F3 window.
    Newly created save states will contain a small picture in them.
    Pictures will not appear in old save states, however.


............................................................
v0.991 - May 24, 2000
............................................................

  - Disabled 2xSaI/Super Eagle when in the GUI
  - Fixed up cheat code search (Got broken in v0.990 during port preparation)


............................................................
v0.990 - May 24, 2000
............................................................

  - Added speed hack for Kirby Super Star (US)
  - SPC700 (Sound cpu emulation) is now enabled by default whether
    sound is enabled or not.  Emulation will now be slower than normal
    if you usually run with sound off, but the compatibility is higher.
    However, you can disable this through the options window in the GUI
    if speed is of your concern.  Also, a few games only run with it
    disabled so this option may be useful in those cases.
  - Decreased cheat code description length by 1 since the last
    letter was causing some corruption to the next cheat code
  - Added an option to raise the pitch level to the pre-v0.989
    pitch levels, mainly for non-Creative brand sound cards.
  - You can now change the sound settings (Enable Sound, Stereo,
    Sound Frequency) with immediate effects without re-starting ZSNES.
    However, there seems to be some problems with stereo switching
    on SB Live!'s.
  - Configuration is now saved whenever you exit the GUI instead
    of just exiting the program
  - Lots of port preparation done on the source.
  + Memory/Commandline fix on the C version.  A version should
    not be needed anymore (hopefully)
  - The GUI is now using the standard in-game video blitter rather than it own.
  - Fixed up SnapShot key in 8bit mode
  - Implemented 4-point gaussian interpolation.  This is the interpolation used
    by the actual snes!  Many thanks goes to Neill Corlett for his work on
    finding this info! Of course, this routine takes up an extra cpu load so
    emulation will slow down a bit if your computer isn't fast enough, but
    you can always disable interpolation through the sound options.
  - Fixed up Pitch Modulation method.  Thanks again, Neill!
  - Pitch modulation was modulating from the wrong channel.  Fixed.
  - Tweaked SuperFX timing.
  - Added a move window feature to the F1 menu
  - Expanded filename length in the GUI display for long filenames
    by 3, but had to decrease the directory name by 2.
  - Added support for % codes in long filenames


............................................................
v0.9891c/a - February 21, 2000
............................................................

  - Slightly changed SB16 initialization
  - Forgot to remove DSP1 debug code
  - Fixed a pitch modulation bug when Voice 0 modulates Voice 1.
    Thanks to kode54 for this fix!


............................................................
v0.989c/a - February 12, 2000
............................................................

  - Fixed some SA-1 sudden slowdowns.  This does slow down the overall
    emulation speed in SA-1 games though.
  - All sounds were being played at the wrong pitch (slightly higher
    than normal.  It's now fixed so Zsnes should sound better now.
    Thanks to kode54 for helping out here!


............................................................
v0.988c/a - December 6, 1999
............................................................

  - Added some SA-1 speed hacks (Kirby DX/Parodius 3)
  - Implemented SDD-1 MMC.  But none of the SDD-1 games run properly yet
    because of the compression chip.
  - Fixed up some slowdown problems in SA-1 games
  - Fixed up dirty CPUID fix for Cyrix CPUs so that you don't have to
    re-run Zsnes twice every time.


............................................................
v0.987c/a - November 26, 1999
............................................................

  - Forgot to re-enable pitch modulation after disabling it for debugging
    purposes.


............................................................
v0.986c/a - November 23, 1999
............................................................

  - Re-added Sound Buffering.  I was hoping to re-write it, but
    later found out that it wasn't worth the trouble.
  - Fixed some Triple Buffering bugs, but I can't figure out that
    flicker glitch on NVidia cards
  - Added Simulated Triple Buffering for cards without VESA 3.0 Hardware
    triple buffering.  This method does some lose frames, but should be
    faster than v-sync.  This only works on VESA 2.0 modes.
  - Fixed up directory sorting to always put ./.. at the top.


............................................................
v0.985c - November 15, 1999
............................................................

  - Added some more speedups to the SA-1
  - SA-1: Fixed a branch problem with the BRL instruction
  - Implemented Save Ram support into netplay.
    Thanks to The Minder for help testing this!
  - Added a hack to get Mario Paint trainered rom with the trainer
    removed to work with the snes mouse instead of the keyboard/joystick
  - Prevented Joystick Keys/Buttons to be selected as the diagonal
    keys in the GUI
  - Fixed some crashing problems with the Modem Mode
  - Implemented a key combination editor in the GUI
  - Sped up V-Sync
  - Fixed an SA-1 memory map bug!  Fixes DBZ:HD.
  - Added an small speed hack for DBZ:HD
  - Implemented SA-1 Super MMC
  - Finally, after many, many hours of hacking.  Figured out
    what caused the odd noise sounds!  So far, simulated noise
    is implemented since the true nature of how this noise
    is produced is unknown so it will sound somewhat off compared
    to the original sounds.  There is also a slight chance that
    some sounds will become noise incorrectly and vice versa.
  - Fixed up Pitch Modulation
  - Fixed SNES Mouse/Super Scope support when Pl3/4 as Pl1/2 option is enabled
  - ADSR/GAIN overhaul (Sound DSP) :
      - Fixed several GAIN bugs
      - Implemented Increase Bentline/Decrease Exp GAIN modes properly
      - Rewrote Decay/Sustain modes in ADSR
      - Fixed a restarting ADSR bug
  - Removed Sound Buffering.  I don't think it's worth losing the
    quality of the sound for a small amount of speed boost.
  - Implemented an option to disable the Noise Simulation for those
    games that aren't working properly because of it
  - Implemented Triple Buffering.  You can enable this through the
    Video Options in the GUI.  Unfortunately, Triple Buffering
    won't work with 2xSaI/Super Eagle engine at the moment since they
    rely on the previous screen for updating nor will it work
    properly with high resolution games in the old gfx engine.
    Thanks to GreenImp for patiently helping through testing!
  - Implemented Full Screen Interpolation.  Only works on
    MMX CPU's at the moment.
  - Implemented Cheat Code Reflector (See Guinotes.txt for details)
  - Any proper VESA 2 error messages now doesn't exit the program
    when in the GUI but instead display the error message in a
    box and allows the user to continue.
  Thanks to Daniel for lending me his copier which helped me hack the
    SNES Sound Noise/ADSR stuff!


............................................................
v0.963c/a - September 19, 1999
............................................................

    NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files in the
          assembly only version.  Use v0.963c for those features.  The only time
          when you should use this version is if v0.963c doesn't work for you.
  - Fixed DMA position reader to fix the high sample rate problem
    in SB-Live! cards.  Thanks to ShihTzu for helping us with this!
  - Removed SB16 only message under stereo option in commandline help.
    Shouldn't really be there since v0.600.
  - Low Pass Filter is now disabled by default.  But you can still
    enable it through the GUI.
  - Implemented an option in the GUI to not allow Zsnes to change
    the current start-up game path in the configuration.  You can
    access this in Config->Options.
  - Joystick calibration values have been reset since there seems
    to be some problems with it.  You may have to re-calibrate your
    joystick if it doesn't respond correctly.


............................................................
v0.962c/a - September 18, 1999
............................................................

  - Exit text now only displays when text mode is 80x25
  - Used hardware DMA counter to determine which sound block to write to rather
    than assuming it always starts at the first one for the sound routines.
    This should hopefully fix all those nasty sound static problems many people
    seems to have.  Many thanks to Crono for the code and for his help!
  - Removed Re-Init Every 30 Second option.  Shouldn't be needed anymore
  - Added the ability to disable the Low Pass Filter
  - Implemented Diagonal Keys
  - Implemented some SA-1 speedups

A Only:
    NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files in the
          assembly only version.  Use v0.962c for those features.  The only time
          when you should use this version is if v0.962c doesn't work for you.
  - All changes from v0.960c


............................................................
v0.960c - September 17, 1999
............................................................

  - Modified header reader a bit
  - DSP/SPC700: Modified EndX register usage to fix some compatibility
  - DSP/SPC700: Fixed up timing registers
  - DSP/SPC700: Fixed a sample looping bug causing many sounds to not
    sound correctly
  - SPC700: Fixed a small bug in TCALL.  Not sure if it fixes anything
  - Added small optimisations to the MMX video copy routines
  - Fixed an adsr -> gain switching bug
  - Extended maximum number of cheat codes from 75 to 255
  - Altered .spc format again, this time to suit the ID666 format
  - Worked a bit on SDD-1 emulation.  Don't think we can go any further since
    we can't seem to figure out the compression algorithm used in that chip.
  - DSP/SPC700: Added low-pass filter by kode54.  Thanks kode54 for the code!
    This enhances bass in some games.
  - SA-1: Fixed memory map access problems with several stack
    instructions and d-page instructions
  - SA-1: Minor fix to the timing
  - SA-1: Fixed a load state problem which causes Zsnes to crash sometimes
  - SA-1: Fixed a small problem with the cpu communication register
  - SA-1: Added a small speed hack for Kirby 3
  - Added some transparency hacks (Kirby3, FF3)
  - Added an sram fix hack for Donkey Kong Country 2 trainer version
  - GUI now displays a message when SAVE CFG is selected
  - Added on-screen messages to the Background/Sound channel toggle keys
  - Added the missing video mode descriptions in the .cfg and commandline help


............................................................
v0.953c/a - August 4, 1999
............................................................

  - Echo should sound better now
  - Restored the old Sound Blaster routines since the new ones seems
    to create some static in certain computer configurations
  - Increased volume intensity of more quiet samples

C Only:
  - Fixed up crashing bug in pure dos when vesa 2 initialization failed
  - Included cwsdpmi.exe with the zsnes archive.

A Only:
    NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files
           in the assembly only version
  - Fixed a small H+V IRQ timing problem
  - Fixed some vertical off by 1 line bugs
  - Attempting to save over read-only files shouldn't mess up anymore
  - Start with newest save option now works with the save directory defined
  - Fixed up a crashing bug when a read only file is loaded
  - The volume level didn't modify the echo volume.  Now fixed.
  - Fixed up a display problem in the F1 menu in 256 color mode
  - Fixed an echo delay bug
  - Hopefully fixed the random beep encounter bug that
    occurs in some games with sound enabled
  - Several sound volume fixes
  - Fixed Save Snapshot + Increment frame enter key affecting the game bug
  - Added Increment Frame Only option to the F1 menu
  - Made some minor changes to the Sound Blaster routines
  - Fixed some more sync bugs in .ZMV recording
  - Fixed a speed hack bug that occurred from v0.800 to v0.900.
    Hopefully the speed is better now.
  - Slightly improved the sound skipper when sound is disabled
  - You can now quickly modify the currently selected cheat code's
    value by typing a 2 digit hex number in the cheat code enter space
  - Added a hack to Chrono Trigger to prevent the screen from flashing
    before battles
  - Fixed a 16-bit mode 7 windowing distortion/crashing bug
  - Fixed a read memory leak bug in the 16-bit old gfx engine.
    Interesting that this bug plagued ZSNES all this time, but its
    effects didn't show until the recent versions.


............................................................
v0.952c - August 3, 1999
............................................................

  - Fixed a small H+V IRQ timing problem
  - Fixed the bug which caused HiROM games from not loading properly
    through the commandline
  - Fixed some vertical off by 1 line bugs
  - Attempting to save over read-only files shouldn't mess up anymore


............................................................
v0.951c - August 3, 1999
............................................................

  - Fixed up the directory changing bugs that plagued v0.950
  - Start with newest save option now works with the save directory defined
  - Fixed up a crashing bug when a read only file is loaded
  - The volume level didn't modify the echo volume.  Now fixed.


............................................................
v0.950c - August 2, 1999
............................................................

  - Fixed up a pretty nasty .ZIP support bug where .ZIP files from
    the root directory weren't loaded up properly
  - Fixed up a display problem in the F1 menu in 256 color mode
  - Fixed an echo delay bug
  - Hopefully fixed the random beep encounter bug that
    occurs in some games with sound enabled
  - Several sound volume fixes
  - Sorry about those new problems in v0.941c.  We traced some of the
    problems to the dos extender zsnes was using (thanks Maxim- for
    some help on this!) so we spent some time rewritng the file system
    so that it would be compatible with other extenders in pure dos.
  - Fixed Save Snapshot + Increment frame enter key affecting the game bug
  - Added Increment Frame Only option to the F1 menu
  - Made some minor changes to the Sound Blaster routines
  - Fixed some more sync bugs in .ZMV recording
  - Fixed a speed hack bug that occurred from v0.800 to v0.900.
    Hopefully the speed is better now.
  - Slightly improved the sound skipper when sound is disabled
  - You can now quickly modify the currently selected cheat code's
    value by typing a 2 digit hex number in the cheat code enter space
  - Added a hack to Chrono Trigger to prevent the screen from flashing
    before battles
  - Fixed a 16-bit mode 7 windowing distortion/crashing bug
  - Fixed a read memory leak bug in the 16-bit old gfx engine.
    Interesting that this bug plagued ZSNES all this time, but its
    effects didn't show until the recent versions.


............................................................
v0.941c/a - July 18, 1999
............................................................

  - Fixed a small newly created timing bug
  - Fixed flicker bug in 320x480x65536 video mode during high
    snes resolution mode


............................................................
v0.940c/a - July 18, 1999
............................................................

  - Fixed a major SuperFX bug!  Starfox and other SuperFX games
    now show polygons!  Note that the SuperFX still has bugs.
  - Fixed an offset per tile mode bug
  - Optimised SuperFX plot instruction.
  - Implemented a hack to get Winter Gold working.
    Thanks to Gary Henderson for this fix!
  - Fixed a flag setting bug in the XCE instruction (65816).
  - Fixed another HIRQ bug
  - Seems like a sprite cache bug that was fixed in v0.800 re-appeared
    in v0.900.  Fixed now.
  - Fixed an SA-1 arithmetic calculation result timing bug
  - Forced the old gfx engine on when running Stunt Race FX since
    the new gfx engine was having lots of problems in 256 color mode
  - Fixed a new gfx 8bit engine mosaic crashing bug with certain games
  - Fixed a sprite cache bug in the new gfx engine
  - Fixed a DSP envelope bug which was causing some games to not work
  - WRAM data is now cleared by 0xFF
  - Fixed 320x480x16bit mode when switching from a 256 color mode


............................................................
v0.915c/a - July 7, 1999
............................................................

    NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files
           in the assembly only version
  - Skipped scanline length check/set in VESA 1.2 routines
  - Fixed a 256 color mode 7 slowdown bug that occurred in v0.910c
  - Added hi-res mode 7 hack to 320x480x256 video mode
  - Implemented 2xSaI engine for ARGB cards.  Thanks to Kreed for
    the updated source!
  - 2xSaI was missing a couple lines at the bottom.  Now fixed
  + A:  320x480 modes can now be selected in the GUI
  - properly cleared 320x480x256 video mode
  - F3 menu should now be correct during hi-res mode 7


............................................................
v0.910c/a - July 6, 1999
............................................................

    NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files
           in the assembly only version
  - The bug where enabling auto-cheat load, having an Sram directory,
    and loading a rom without a .cht file which results in Zsnes changing
    the loading directory to the sram directory is fixed.
  + A:  Fixed cheat search engine
  - Tweaked HIRQ timing to fix some flickering in some games
  - Fixed screen shot capture in ARGB cards in 640x480x65536 mode
    with scanlines enabled
  - Implemented adjustable time interval for the sound reinitialization
    feature so that it can be set to values other than 30 seconds.  It
    can be modified in zsnes.cfg (ReInitTime)
  - Cheat Search 'Add' button now works properly
  - Corrected Register 4212h to adjust to the new NMI timing
  - Implemented ARGB video mode support to VESA 1.2
  - Implemented 320x480x256 and 320x480x65536 video modes
  - Fixed a x448 resolution bug when scanlines are enabled
  - Prevented those with ARGB videocards from checking 2xSaI or
    Super Eagle engine for now


............................................................
v0.900c/a - July 4, 1999
............................................................

    NOTE : You cannot run DSP1 games, use IPX support, or use .ZIP files
           in the assembly only version
  - Fixed another sprite priority bug
  + A:  Fixed an IRQ problem that was caused during the C -> ASM conversion
  - HBlank is supposed to be noticed during VBlank
  - Fixed an IRQ bug that occured between v0.715 and v0.800
  - Fixed a 65816 DPage usage bug that occured between v0.715 and v0.800
  - Rewrote 65816 flag handling system.
  - Optimised SA-1 emulation
  - Optimised the 65816 main loop.
  - Implemented Surround Sound.  It is defaulted off since it seems
    to create some bad static in some games.  Thanks to Crono for info!
  - Wrote Interpolation in MMX.  MMX cpu is required.
  - Implemented MMX auto-detection for MMX Interpolation and MMX Copy.
  - Fixed an 224HDMA line bug, thanks to Gary Henderson!
  - Optimised 320x240x16b and 640x480x16b for ARGB cards.
  - Removed Snow
  - Clock option is now visible to anyone.  You can enable the in-game clock
    through the GUI in Config->Options.
  - Altered method of writing to file in Movie Recording mode, hoping that
    it will fix some problems after recording movies for a long period of time.
  - Altered data alignment size in source
  - Fixed a VESA2 divide by 0 bug in Banshee cards by checking
    the scanline length instead of setting it immediately.
    Thanks to Crono for some help!
  - Altered sound echo volume
  - Added sound interpolation based on Crono's code.
    Thanks to Crono for his help!
  - Added an option to turn off sound interpolation for speed
  - Implemented Pitch Modulation, thanks goes to Gary Henderson for
    clarification info!
  - Implemented an option in the GUI (Config->Options) to allow the
    Fast Forward key to act as a toggle (disabled by default)
  - Fixed a bug that prevented high resolution to sometimes not display
    in a 16bit video mode
  - Fixed a game stalling bug when pressing F3 during games that are
    sensitive to changes in the ENVX DSP register (Bomberman Series)
  - Added a hack for the graphic glitches in Dragon Quest 6
  - Fixed up in-game clock in the new gfx 16bit engine
  - Fixed a nasty bug in the ADSR engine.  It was sometimes using
    an incorrect decay value, causing the sound to stick instead of fading out
  - Slightly fixed ADSR by completely skipping the attack stage when
    the attack duration is 0
  - Fixed a GAIN decrease->increase bug
  - Implemented a safe recovery feature for those computers that
    don't support the CPUID instruction (used for MMX detection).
    If ZSNES crashes at the very start, just re-run it.
  - Fixed a fixed color dual windowing bug in the subscreen which caused
    transparency to sometimes shift unexpectedly when the background scrolls
  - Implemented 50% Scanlines (Lance McKay's idea) and 25% Scanlines (Similar
    to Snes9x TV-Mode's scanline intensity) in 640x480x65536 video mode.
    These modes don't work on videocards with an ARGB setting yet.
  - Added MMX Support to 50% and 25% Scanlines modes
  - Implemented back buffer clear in MMX
  - .CHT files now saves to the proper save directory
  - Implemented the 2xSaI graphics engine (MMX Only).  Many thanks
    to Kreed for this wonderful engine and source code!
  - Implemented Kreed's Super Eagle engine.  Note that for both
    2xSaI and Super Eagle, you need an MMX processor, enough RAM for
    the new gfx 16bit engine, and also be in 640x480x65536 video mode.
  - Implemented an option to auto-load a .cht file whenever a game is loaded.
    You can find this option at the bottom of the Cheat Window in the GUI.
  - Optimised Non-MMX Interpolation
  - Fixed a bug that caused save states to not save correctly after
    attempting to load a non-existing .cht file
  - Added a Quick SnapShot Key.  You can set this key in the
    Misc -> GameKeys menu in the GUI.  This key allows you to take
    a snapshot with just a press of a key.
  + C:  Implemented .ZIP support.  Thanks to Jean-loup Gailly, Mark Adler,
    and Gilles Vollant for the ZIP routines!
  - Fixed a bug where pressing PageUp/PageDown in the cheat window
    went over by 3 entries.
  - Implemented longer cheat descriptions.  The cheat window and the
    .cht file format had to change a bit, however, ZSNES automatically
    converts any old formats to the new formats when it detects it.
  - Allowed the IRQ to be executed more than once on the same line
    through HIRQ.  Fixes the flickering problems of Doom/Offroad Baja.
  - NMI now executes at line 225 instead of 224.
  - Saving/Loading the state causing the control to stop or skip has
    been fixed again.
  + C:  .ZIP files can now be run from the commandline
  - Implemented an option for ZSNES to automatically save the save data
    approx. 5 seconds after it detects writes to it.  This will not
    work for SuperFX or SA-1 special chip games, however.  This option
    is disabled by default and can be enabled through the option window.
  - Implemented an option in the sound window to re-initialize the sound
    card after every 25-30 seconds.  Hopefully fixes the problems where
    the sound gets staticy after a certain amount of time.
  - Newest Save Slot will now appear as orange in the Save State
    Select (F3) window
  - Fixed a spc700 <-> 65816 sync bug during movie (.ZMV) playback
  - Implemented an option to enable Old Gfx Engine Mode 2 (Accessible
    through the options window in the GUI).  This mode fixes many
    transparency problems in 16bit modes, but can also create some
    and is also at times slower than the original engine.
  - Implemented 640x480x65536 VESA 1.2 support.  Currently supports
    Full Scanlines and Smallscreen modes.  However, it is strongly
    recommended that you only use VESA 1.2 support if your card cannot
    support VESA 2.0 (w/ linear framebuffer) since VESA 1.2 runs slower.
  - Implemented an option to disable Pitch Modulation
  - Sound card is now not re-initialized whenever a state is saved/loaded
    since some sound cards seems to have problems with it.
  - Implemented Single Windowing in the New Gfx 8bit engine, 8x8
    and 16x16 tile modes only
  - Fixed 64k SRAM support when loaded from the GUI
  - Optimised high resolution new gfx modes in 640x480x256
  - Fixed the graphic glitches in x488 snes vertical resolution modes
    in 640x480x256 new gfx mode
  - Optimised 640x480x256 Eagle Engine
  - Fixed the GUI background display bug in the new gfx engine
  - Fixed .SPC capture in the new gfx engine
  - Added an option to start with the newest save state when the game
    is loaded.  It can be enabled in Config->Options window in the GUI
  - Slightly optimised new gfx 8bit engine
  - Fixed several Mode 7 problems in the New Gfx 8bit engine
  - Changed DSP1 variables to use double instead of floats for a small
    speed increase.  Thanks to Gary Henderson for this tip!
  - Fixed up the Mode 7 slowdown bug when the scale ratio becomes small
    in most graphics modes
  - Optimised some Mode 7 transparency modes
  - Implemented EXTBG mode 7 into the newgfx 8bit engine
  - Fixed the 'FIX' feature in the cheat menu.  Seems like it wasn't
    writing any value to memory when it was clicked.
  - Game Genie codes are now defaulted to the 'FIX'ed mode.  Seems like
    most of the codes needs this.
  - Implemented windowing to Mode 7, New Gfx Engine 8bit
  - Added support for .SPC v0.2 format
  - Added an option in zsnes.cfg to disable configuration saving for
    those who want to store zsnes.exe in a read-only storage area
  - Fixed GameKeys display in the GUI for certain keys (such as the
    snes parallel adapter keys)
  - Implemented hi-res mode 7 (vertical expand only).  Currently only
    works in 640x480x256 newgfx engine (w/ Eagle and Scanlines disabled).
  - Fixed an offset per tile mode bug in the new gfx 8bit engine
  - Implemented dual windowing modes into the new gfx 8bit engine
  - New Gfx 8bit engine is now the default graphics engine in 256 color modes.
    It still lacks sprite windowing and also has some sprite flicker issues,
    but it's overall more stable, faster, and has more features.
    You can still switch back to the old gfx engine by pressing '8'.
  - Looks like Pitch Modulation was causing more sound problems than
    what it's worth.  It's now disabled by default, but you can reenable
    it through the GUI.
  - Added auto save/load state feature where ZSNES will automatically
    loads back the previous state when you last properly exited ZSNES.
    This feature is disabled by default.
  - Compressed the executable using UPX


............................................................
v0.800a - December 25, 1998
............................................................

  - Assembly only version.
  - Doesn't support DSP1 chip or IPX.
  - May fix problems that some people are having with sound.

  NOTE : Only use this if have problems with 0.800c.


............................................................
v0.800c - December 24, 1998
............................................................

  - Fixed up sound speeds.  Timers were computed incorrectly.
  - Fixed a sprite priority bug
  - Fixed up a bug that prevented the gui to be disabled
  - Fixed up SPC capture
  - Fixed a bug when VIRQ is set on the same scanline as NMI
  - Implemented an automatic .IPS patcher.  Just rename your .IPS
    file to the rom filename with the .IPS extension and ZSNES will
    patch the rom realtime without modifying the rom file's contents.
    Thanks to Neill Corlett for most of the .IPS info!
  - Snapshot capture/skip 2 frames option now returns back to
    the proper menu item
  - Fixed a calibration bug with 6/8button joysticks
  - Fixed up display in 640x480x8 new gfx engine
  - Fixed up hi resolution displays in all 640x480x8b modes
  - Fixed up a bug where Mode 7 becomes corrupt after selecting
    Save CFG from the GUI
  - Fixed a memory map bug in lorom DSP1 games
  - Fixed a potential DSP1 crashing bug where a negative value is
    being square rooted
  - Hopefully fixed the modem bug when using an IRQ that is bigger than 7
  - Fixed up an ADSR bug for games that changes ADSR mid-sample
  - Fixed up echo emulation (possibly slowed down emulation)
  - Fixed up a sprite caching bug
  - Fixed up a DSP1 byte check stall bug
  - Implemented a commandline to disable spc700 speed hacks (-7)
    Might help with some compatibility
  - Implemented SA-1 support (most functions emulated)!  Unfortunately,
    it's still buggy.  Thanks to the snes9x team for providing info!
  - Fixed a bug when selecting drive A/B while a disk is not
    in the drive caused a long check sequence
  - Implemented Keyboard support to most of Option, Sound, and GUI Option
    configurations in the GUI
  - Changed sound init code a bit.  Hopefully improves sound card
    compatibility, but might also ruin it.
  - Implemented off by 1 line fix (-9).  This may help compatibility and
    fix some minor graphic glitches, but may also ruin some too.


............................................................
v0.715 - October 29, 1998
............................................................

  - Fixed a crashing bug when 16bit back window clipping was using
    an undefined windowing clip buffer
  - Added spc program counter check to the spc stall detection to
    reduce false alarms
  - Tweaked IRQ processing a bit
  - ZSNES.CFG and ZGUICFG.DAT are now fixed so that they will use
    the current directory when the SET CMDLINE detection fails
  - Fixed several mode 7 bugs in the new graphic engines
  - Implemented an option to save the configuration files in the MISC menu
  - Added a shadow to the in-game text displays
  - Fixed a bug created in v0.700 where pressing F3 while sound
    is disabled crashes zsnes
  - Fixed up player 4 and player 5 so they now work again
  - Fixed up color a bit in the old graphics 16bit engine
  - Added gamma control to 16bit old graphics engine
  - Fixed a cheat code bug where pressing the down key in the browser
    overflows by 3 rows
  - Fixed up a bug where any memory allocation below 48mbit support crashes
  - Added out of memory error when loading a file from the gui
  - Fixed a minor off by 1 pixel windowing bug
  + Fixed up memory requirements in the readme.txt.  It seems like
    compiling with C takes up 3.0 more megs.  It shouldn't though.
    An asm only version will be release later without dsp1/ipx support
    unless the reason is figured out.
  NOTE : It seems like IPX mode randomly loses packets in certain
         configurations so IPX isn't recommended to use yet.


............................................................
v0.700 - October 26, 1998
............................................................

  - Fixed another offset per tile mode bug
  - Fixed up joystick button update rate
  - Fixed a bug that caused sound buffer dump option to crash
  - Fixed a minor sound initialization bug
  - ZSNES now compiles with C code!
  - Fully rewritten commandline parser routines
  - Partially rewritten SET BLASTER/SET CMDLINE detection
  - Implemented partial DSP1 support.  Seems to have some precision problems.
    Thanks to the snes9x team for the info!
  - Fixed a mode 7 nonrepeat mode off by 1 tile bug
  - Implemented snapshot/increment by 2 frame feature in the F1 menu
    for those interested in producing animations
  - Added variable sound buffer size to reduce static in higher sampling rates
  - Changed method of reading the mouse cursor position in the GUI.
    Hopefully, this fixes those mouse crash problems when zsnes is
    run in pure dos and sometimes win95.
  - Added a commandline to disable palette 0 (back color) modification
    in 256 color modes
  - Implemented Turbo Buttons for buttons A,B,X, and Y.  Use the GUI to
    define those keys
  - Added the ability to toggle Turbo Change speed to 30hz instead of 60hz
    in the Options menu
  - Started C4 chip emulation.  Nothing is playable yet.
  - Fixed up SET CMDLINE detection.  Hopefully, zsnes.cfg and
    zguicfg.dat will now end up in the correct directory.
  - Started Modem Support (direct modem to modem).
    DOS-Compatible modem required!  Thanks to Dark Force for helping
    out on getting a bug that kept USR's and other modems from working!
    Also thanks to The Minder for a lot of help testing!
    Note : Modem mode isn't free of bugs
  - Added in-game chat key to the GUI keys for modem/net support.
    Currently defaulted to 't'
  - Forgot to add EMMS after any MMX routines that seems to cause
    any FPU instructions to crash
  - Fixed an interrupt re-enable bug in the Gamepad Pro code which
    seems to have eliminated the locking bugs when it's not set on GrIP mode
  - Implemented keys to adjust Frame Rate up or down during gameplay.
    You can define them through the GUI under Gamekeys
  - Implemented keys to slide the volume level up or down during gameplay
  - Fixed a small HDMA screw up bug when using Save/Load states
    which caused the screen to flicker once in many games
  - Finally fix up 48mbit mapper support!  Many thanks to Dark Force,
    Mike Gilroy, and Frank Hughes for a lot of help on this!
  - Several fixes to register 4211h
  - Rewrote IRQ timing handler (not perfect, but better)
  - Implemented Fossil Driver support to the modem support.
  - Fixed an IRQ reenable bug
  - Increased default cycles a bit
  - Fixed some major mode 7 rotation bugs
  - Added support for uninterleaved 48mbit roms
  - Added a FIX option to the cheat code to correct incorrectly converted codes
  - Implemented Mode 7 horizontal flip
  - Implemented primitive IPX support.  It is very primitive at
    the moment and may not work since it isn't really tested much.
  - Optimised some 65816 direct page addressing modes
  NOTE : .ZMV (Movie) files recorded under v0.635 has good potential
       on becoming obsolete in this version because of the timing changes
  NOTE : IPX support and Modem support may be buggy since it hasn't
       been tested on multiple types of connections yet.


............................................................
v0.635 - September 24, 1998
............................................................

  - Sidewinder fix options are now swapped since the majority seems
    to work better with the other sidewinder routine.
  - Implemented EXTBG mode7 in 256 color old graphics engine.
  - Fixed a DSP Sound bug where some sound effects weren't played
    in certain games
  - Tweaked joystick routines again
  - Fixed up a bug where sometimes loading a game after playing
    another game screws up emulation
  - Optimised 640x480x8, 512x384x8, and 512x384x16 video modes
  - Implemented EXTBG mode7 in 65536 color old graphics engine.
  - Fixed an offset per tile mode range clipping bug
  - Fixed up offset per tile mode in new gfx 8bit engine
  - Fixed a bug which caused a crash when a state is loaded while
    playing/recording a movie file
  - Optimised new gfx 16bit non-transparency mode
  - Implemented SPC700 stall detection/recovery attempt
  - Fixed up a new header detection bug in v0.625
  - Modified memory allocation routines.  Hope this fixes those
    random crash problems that some people seem to have
  - Fixed a sound bug where the song leaks after it ends,
    sometimes producing an unwanted beep
  - Optimised new gfx 16bit transparency modes
  - Multiple DSP sound bug fixes
  - Implemented transparencies in high res 16x8 tiles
  - Implemented a command line to disable the sound DSP (-dd).  Use
    -s and -dd if you want spc700 emulation to be enabled without sound
    to improve compatibility
  - Fixed a bug where joystick support makes the emulation slow
  - Had to remove some memory allocated variables and convert them to arrays
    since they were causing random crashes on specific computers.
  - Fixed up pressing save state/load state in game so that it doesn't
    clear any key presses


............................................................
v0.625 - September 18, 1998
............................................................

  - Fixed up a major speed drop bug by just adding some empty space.
    Most likely a cache/alignment problem.
  - Used an older version of wdosx because the new version sometimes
    crashes during compiling
  - Executable is now uncompressed.  It's 3 megs, but it provides a
    much faster start up time.
  - Seems like EPACK can only support a maximum of 6 commandlines.
    Fixed after executable is decompressed
  - Fixed a bug where buttons 7 and 8 of 8 button joystick support
    sticks once pressed
  - Swapped button 5/6 and 7/8 in the default joystick configuration
    for 8 button joysticks
  - It seems like 16bit HDMA < 5 was causing problems with some sound cards.
    It now reroutes back to 8bit DMA like how v0.400 did it.
  - Implemented a new offset per tile mode engine into the old
    graphics engine (mostly transferred from 8bit newgfx engine)
  - Implemented Horizontal offset per tile mode in both 8bit and
    16 bit old graphics engine (Mode2/8x8 only)
  - Implemented Horizontal offset per tile mode in 8bit new graphics
    engine (Mode2/8x8 only)
  - Tweaked sidewinder routines.  Hopefully, this will help those who
    have troubles using sidewinder support
  - For those with sidewinder pads who has troubles with the tweaked routines,
    a 'Sidewinder Fix' option in the GUI is added in the Config/Options menu
  - Commandline -i now uninterleaves an incorrectly interleaved rom
  - Tweaked GamePad Pro routines.  Not exactly sure if this will help
    those with 2 GPP joysticks though
  - Fixed up sticky buttons in the GUI cheat menu when
    no cheat codes are present
  - Fixed a bug where using -1 and -2 in the commandlines didn't
    activate the joystick movement/buttons
  - Fixed an offset per tile mode wrapping bug
  - ZSNES will now not crash when zsnes.cfg and zguicfg.dat are
    write protected files
  - Fixed up the GUI when 239 y resolution is used in the game
  - Optimised some minor mode 7 routines
  - SNES Header display in the GUI now displays the filename for blank headers.
    This will fail for headers with garbled header names
  - Inserted an extra reminder in the cheat menu
  - Implemented 239 y-resolution support for .PCX snapshots
  - Implemented 239 y-resolution support for .BMP snapshots
  - Added multiple .SPC saves (Up to 10 saves only)
  - Save State Selection Menu (default F3) now highlights used
    state boxes in red
  - Tweaked 2player/6button/8button joystick routines a bit
  - Fixed a cheat code bug where pressing TAB adds an extra character
    at the end of the address
  - Removed the blank line from the .PCX and .BMP snapshots
  - Implemented Joystick Calibration for non digital joysticks
  - Fixed a bug where parallel port LPT2 player 2 wasn't selectable in v0.605
  - Stabilized the joystick code a bit
  - Fixed up a cheat code bug where using a PAR code that accesses
    RAM doesn't freeze when the .cht file is loaded
  - Added a small delay to play a note when a key on is issued from
    the sound DSP.  Not sure if this fixes anything though
  - Fixed some sound compatibility problems when RESET is used
  - Implemented Movie Record/Playback support.  Read GUINotes.txt for details.
  - Added a small detection for long filenames and prevented users from
    selecting it when it isn't detected
  - Fixed a bug where max frame skip didn't save
  - Fix a timing bug where running a game off the gui ran 1 less
    line in the 65816 than running off the commandline
  - Implemented FPS at start option in the Config/Options menu
  - Fixed a bug in the newgfx16bit engine where 8bpp tiles displayed incorrectly
  - Reduced the filesize by 1200k through many changes in the code
    (filesize is now 2.0 megs)
  - Fixed some VIRQ bugs that caused certain games to crash
  - Added DMA area execution for IRET
  - Added a 'Bugs Section' in the readme.txt
  - Show all extensions is now disabled when snes header view is
    selected in the GUI
  - Implemented partial Direct Color mode in Mode 7 (no transparencies
    yet, only works in 16bit old gfx engine)
  - Improved header detection a bit
  - Fixed up a sprite bug in games which changes the address in
    the middle of the screen


............................................................
v0.605 - September 10, 1998
............................................................

  - Fixed up a FPS display bug when switching between auto frame rate
    and manual frame rate in the GUI
  - Cheat Codes can now be toggled ON/OFF by double clicking on them
  - Tab key now switches from the Cheat Code enter box to the Description box
  - Fixed a Save State/Load State bug in the menu where it saved
    in the load directory instead of the save directory
  - Implemented 8button joystick support (Not tested)
  - Implemented an option in the .cfg file to enable reversed
    stereo sound (ReverseStereo)
  - Implemented an option in the .cfg file to share Player 1 and Player 2
    controls with Player 3 and Player 4's controls.  This option allows you to
    use 2 devices (Joystick and Keyboard) for both player 1 and player 2, but
    this also disables MultiTap support. (Pl34to12Share)
  - Added Reverse Stereo to the GUI under config/sound
  - Added Player 3, Player 4 to use as Player 1, Player 2 in the
    GUI under config/options
  - Compiled under a new version of wdosx.  Hope this doesn't cause any problems


............................................................
v0.601 - September 9, 1998
............................................................

  - Fixed up a sound card deinit bug that sometimes caused ZSNES to
    crash in certain sound cards
  - Disabled Autoinit mode when a low sampling rate is used in 8bit
    sound.  Probabily was also causing problems in some cards

  Note : The offset per tile mode in the 16bit oldgfx engine seems to randomly
    crash sometimes for an unknown reason.  If 16bit mode crashes for you and
    8bit doesn't, press the '0' key in 16bit mode to disable that mode.


............................................................
v0.600 - September 9, 1998
............................................................

  *** ADDED A NEW MEMBER TO THE ZSNES TEAM! ***
  Welcome Pharos to the team, his role is currently a coding assitant.
  So far, he helped us objectize the zsnes source code which greatly
  helped in the compile time, provided assembly help, and helped us
  prepare on linking C code to zsnes (not completely there yet).

  Note : It is strongly recommended to not use the 16-bit new
         graphics engine yet because of bugs and speed concerns.  It
         is enabled only in 320x240x65536 for those who are interested.

  - Added partial 65816 execution in the DMA registers (doesn't seem to
    fix mucht due to some other problem) Thanks to Alucard for this info!
    This also slowed down emulation a bit.
  - Implemented sprite priority correction into the new graphics engine
  - Implemented mosaic into the new graphics engine
  - Implemented true 512 horizontal resolution into new graphics engine
    (both 16x8 and 16x16 tile modes)
  - Implemented interlaced 448 vertical resolution into new graphics engine
  - Implemented offset per tile mode into the new graphics engine
    (Mode 2/Vertical only).  More accurate compared to the old graphics engine.
    (seems to be a bug where the game gets very slow sometimes though)
  - Started 16-bit new graphics engine
  - Implemented sprite priority correction in 16bit new gfx engine
  - Implemented palette raster effects in 16bit new gfx engine
  - Fixed a minor bg enable/disable bug in the new gfx engine
  - Multiple SPC700 bug fixes.  More games run now!
  - Implemented SPCPlay sound engine into zsnes :
      - Echo & FIR Filter Support (Slowed down emulation, but gives
        better sound)  Thanks to feenix65 for info on FIR Filter!
      - Volume fixes
      - Rewrote ADSR/GAIN engine
      - Added Adjustable Volume through the commandline and zsnes.cfg
      - 16000 and 32000 extra sampling rates
      - Many other bug fixes
  - Fixed a minor HDMA bug
  - Fixed an old style joystick read bug that prevented the joypad
    from functioning in certain games
  - Several optimisations on Echo & FIR Filter
  - Several Sound DSP Fixes
  - Temporarily fixed a V-latch bug in some games that don't update the
    display at every frame
  - Add/Removed some game hacks for compatibility
  - Modified Song Start Search in .spc capture.  Should be much better now.
  - Fixed a sprite window clipping bug where it was used when it's not
    supposed to be.
  - Modified memory allocation technique in zsnes.  This should now
    eliminate some random crash errors.  Thanks to Y0SHi for this info!
  - -c now does full screen instead of small screen in 640x480 modes.
    For small screen, use -cc
  - Fixed a back area 1/2 addition bug which caused the background
    to be sometimes darker than usual
  - Fixed a mode 7 transparency bug
  - Added 8-bit stereo sound and 8-bit sound high speed mode support
    (high speed mode support is just the implementation of 8bit 44100khz
     or 22050khz stereo)  Thanks to Crono for a lot of help on this!
  - Fixed up sound blaster deinit code
    Thanks again to Crono!
  - Wrote an entirely new GUI :
      - Mouse driven GUI/Menu Based
      - Full Keyboard Support in all the Quick (Arrow Menu), Load,
        and Cheat menu items
      - Ability to display load names under 8.3 filename format, snes
        header name, and win95 long filenames
      - Support for Save State, Load State, and Select State through menu items
      - Quick Load Menu (Arrow menu) which allows you to quickly load
        the last 10 games loaded
      - Ability to Freeze or Clear the Quick Load Menu
      - An Options menu which allows you to configure settings such
        as video mode, sound settings, frame skip, etc.
      - Added the ability to customize the game keys such as
        the save state key, misc toggles, etc.
      - Ability to use those keys as joystick buttons
      - Customizeable background palette displacement
      - Several minor GUI customization features
      - Ability to quickly exit/enter the GUI with the right
        mouse button (Disabled by default)
      - Ability to Enter Game Genie, Pro Action Replay, or Game
        Finger Cheat Codes
      - Ability to browse the cheat codes and Toggle or Remove the codes
      - Ability to Save/Load Cheat Codes (saves them as .CHT files
        in the same directory as the .SRM/.ZST files)
      - Ability to Select Input Devices for each joypad
      - Ability to Define Keys/Button configuration for each joypad
      - Joypad can now move in the GUI (disabled by default)
      - Added some future reserve menus (Netplay, Cheat Search Engine)
        But they are NOT implemented in zsnes yet.
  - Fixed a bug when clearing the screen in 640x480x65536
  - Implemented full add, half add, full subtract, and
    half subtract into the new 16bit graphics engine
    Not sure why, but some transparency modes are actually slower
    than the old engine.  Most likely flushing the cache a lot somewhere.
  - Implemented background transparencies into new 16bit graphics engine
    (implemented incorrectly at the moment.  Some transparency modes also is
    slower than the old graphics engine, but that will change in the future)
  - Implemented fixed color transparencies (very incorrect because of
    lack of windowing)
  - Fixed a minor bug in the fast forward routines
  - Rewrote most of the 65816 speed hack.  It should now be a lot more
    friendly with games (reduced graphic glitches/increased compatibility).
  - Fixed a bug in Mode7 with Windowing and Transparency enabled
  - Allowed 16bit HDMA sound blaster values less than 5 to be used.
    Not exactly sure if this works though.
  - Implemented Mouse Disable Command Line (-j)
  - Rewrote Input Device Routines (Keyboard, Joystick, SNES Mouse,
    and Super Scope Handlers)
  - Added GamePad Pro Support (Don't know if it works on a standard
    GrIP system though).  Thanks to Marius Fodor for the code!
  - Added Snes Parallel Port Support for both LPT1 and LPT2.
    Thanks to Karl for the code!
  - Added MultiTap (Multiplayer 5) Support!  (Only up to 4 players
    at the moment though)
  - Joystick Port 209h support
  - Fixed an overflow caching bug in the new gfx engine where a few games
    run very slow
  - Added some C -> ASM converted DSP1 functions.  Some functions
    were unable to convert properly so no DSP1 games are playable
    until the actual C code is in
  - Executable is now compressed using epack
  - Implemented sprite transparency into the 16-bit new graphics engine
  - Implemented mode7 transparency into the 16-bit new graphics engine
  - Higher memory requirements (Sorry, but this is unavoidable as long
    as ZSNES keeps expanding)
  - Implemented Echo Disable in the zsnes.cfg for those who want some
    extra speed in return for lost sound quality
  - A bunch of other fixes that we forgot to list


............................................................
v0.400 - May 19, 1998
............................................................

  - Fixed a dual windowing bug in mode 7 in 65536 color mode
  - Re-added FPU Copy due to a demand
  - Implemented MMX Copy.  Use -om to enable.  Thanks to Angels Holocaust
    for this info!
  - Fixed a bug when writing to .bmp files
  - Added (buggy) SuperFX support (9.5MB memory required)
    Special thanks to the snes9x team for all the info and help!
  - Fixed up sprite windowing.  Should hopefully be correct now
  - Added a commandline to show all file extensions through the GUI
    Use -sa to enable
  - Added Noise to the Sound DSP
  - Added a Fast Forward key.  Use the Tilde Key (~) located at the
    top-left of your keyboard.
  - Added Sprite Priority Correction
  - Fixed a tile caching bug that caused some tile corruption
  - Fixed a 65816 bug in XCE on the x flag.  Thanks to ]SiMKiN[ for this!
  - Implemented Interleaved format and a simple auto detection.
    In case autodetect fails, use -i.  Thanks to feenix65 for this info!
  - Improved header detection.  Should now work better with demos
    and games with weird filesizes
  - Added a new graphics engine in 256 color mode.  It should be much faster
    in areas that don't use mode 7, but lacks a lot of features such as
    windowing, mosaic, and sprite priorities so it is disabled by default.
    It can be enabled by pressing 8 during gameplay.  (~40-100% faster)
  - Optimised Mode 7 in 256 color mode
  - Implemented dual windowing to color window clipping
  - Fixed several color window clipping bugs
  - Added full resolution screenshot capture in 640x480x65536 mode
    To activate while in that mode, hold backspace and press F1
  - Fixed several transparency bugs
  - Added NewGfx to zsnes.cfg which determines if the new graphics engine
    is enabled at start
  - Added CopyMethod to zsnes.cfg which can default the copy method
    as either fpu copy or mmx copy
  - Allowed systems with 5.5MB of RAM free to load 2mbit roms
  - Fixed sidewinder support when sound is set at a high sampling rate.
    Thanks to Marius Fodor for the source!


............................................................
v0.393 - April 15, 1998
............................................................

  - Whoops!  Forgot to remove the debug variables in v0.391
  - Fixed another sprite clipping bug
  - Fixed clipping in Mode7 16-bit mode
  - Removed FPU Copy since it didn't seem to speed up emulation
  - Added .USA and .JAP rom extension into the GUI
  - Added Save SPC Data which saves the contents of the SPC700/DSP
    of the beginning of the next song (Future Reserved)
  - Add Sound Buffer Dump which dumps the decompressed sound buffer as raw pcm.
    This can become quite inaccurate due to the way how zsnes stores its
    decompressed sounds.
  - Added MenuItem Sound Buffer Dump into the F1 Menu
  - Added MenuItem Save SPC Data into the F1 Menu
  - Added a key to disable offset mode.  Press 0 key to activate/deactivate
  - Added small screen support in 640x480VESA2 modes.  This mode should be much
    faster for those who use 640x480.  Use the -c commandline to enable this
    when in 640x480.
  - Added an option for centered small screen.  Use the -cc commandline.
  - Fixed up 320x240x65536 support for ARGB cards again.
    It now should be working. (No, seriously!)
  - Removed some static from the sound.


............................................................
v0.391 - April 13, 1998
............................................................

  - Fixed a bug in DMA from v0.390
  - Fixed some sprite windowing clipping bugs
  - Fixed an OAM overflow bug.  Thanks to DJRob for some help on this!
  - Fixed a save state bug where running a game off the commandline and having
    a save directory specified prevented more than 1 save state
  - Fixed a transparency bug from v0.390


............................................................
v0.390 - April 11, 1998
............................................................

  - Fixed a bug which caused 320x240x65536 to display incorrectly
    on video cards with an 16-bit ARGB setting
  - Fixed a minor screen add/sub bug
  - Fixed a minor sprite priority bug
  - Fixed a BG3 priority bug in BG Mode 0
  - Fixed a color window addition bug
  - Fixed a minor VIRQ enable bug
  - Swapped The Cursor Button and Autofire Switch in Super Scope
  - Fixed a joystick read timing bug
  - Sound volume register returned an invalid value.  Now fixed.
  - Added some dword alignment to some variables.
    Thanks to Marius Fodor for this info!
  - Implemented 64k sram files
  - Implemented Sprite VRAM address changing in the middle of the screen.
    Should fix some games such as Lufia 2
  - Added some hacks to get some games working better
  - DSP : Fixed a divide by 0 bug when key on is set without any
    sound variables initialized
  - Increased default cycles executed in FastROM.
  - Added ZSNES.FAQ .  Read this if you have troubles!
  - Added a key to disable/enable Windowing.  Press 9 to activate this.
  - Implemented EAGLE algorithm in 640x480x256 video mode.
    Use -y to enable.  Thanks to A CoolMan for the algorithm!
    Later on, we'll implement his code which has MMX acceleration!
  - Implemented FPU copy.  Use -o to enable.  Used only when copying
    buffer to video in 320x240 vesa2 modes.
  - Re-wrote Windowing routines for speed and expandability
  - Added Dual Windowing on BGs in all logic modes
  - Added Dual Windowing on Sprites
  - Added some minor stuff to the header displayer
  - Added partial offset per tile mode. (Mode 2/Vertical/8x8)
    Thanks to the feenix65 for some help on this!
    Implementation still a bit buggy.
  - Sorry, but memory requirements had to increase by a bit.
  - Fixed a tile graphics wrapping bug
  - Clean up and optimised 16-bit graphics code
  - Fixed up a display bug when switching from 239 to 224 y resolution
  - Optimised some video processing code.  Thanks to Crash_Man for the help!
  - Minor optimisations to the 65816
  - Improved color intensity in the back area
  - Fixed a sram directory bug where the save state didn't save in the
    save directory when the game is specified from the command line
  - Fixed a keyboard bug when left-shift is selected as a key.
    Thanks to Pharos for help on this!
  - Some DMA speedups
  - Some optimisations to OAM/VRAM write
  - Sorry, but SuperFX emulation is disabled for this public version.


............................................................
v0.305 - February 12, 1998
............................................................

  - Fixed a snes ppu multiplication bug.  Thanks to Lord Esnes!
  - Hopefully fixed 6-button joystick support.
  - Fixed a little memory overflow bug which caused some games to not work
  - Forgot to clear NMI wait substitute variables when another game
    is loaded from the GUI
  - Changed sound processing engine back to v0.297.  If for any reason
    you want to go back to v0.300 sound engine, use -x as a command line
  - Added Cursor Mode Button to the Super Scope.  Never thought it was
    necessary until recently.  Use the =/+ key.


............................................................
v0.300b - February 10, 1998
............................................................

  - Fixed a bug that causes sidewinder support to crash.


............................................................
v0.300 - February 9, 1998
............................................................

  - Fixed a 65816 wrapping bug
  - Added Super Scope Emulation!  (Press 7 beyond mouse)
  - Some minor touches to the GUI
  - Manually calculated RGB bit lengths when using 16-bit modes
  - Fixed another bug when loading 48mbit images from the GUI
  - Sped up the execution loop when sound is enabled
  - Implemented NMI wait substitute for speed
  - Added some extra vesa2 routines to help some video cards with ARGB format
    of 1:5:5:5, however interpolation won't work for those at the moment.
    Thanks to Dark Force for helping out on this one!
  - Implemented 512x384 VESA2 resolution for both 8 and 16 bit
  - Implemented Sound Mute and Reset
  - Implemented Joystick Remapping.  Edit ZSNES.CFG to access this.
  - Fixed and sped up 6 button joystick support
  - Fixed 2 2-button joystick support
  - Hopefully fixed 2 sidewinder support
  - Fixed an overflow sound bug


............................................................
v0.297 - January 31, 1998
............................................................

  - Fixed a bug when loading 48mbit images from the GUI
  - Fixed some crashing bugs by just adding some zero space
      Very weird bug!


............................................................
v0.296 - Not released?
............................................................

  - Fixed up Cheat Menu in 16-bit color mode
  - Changed SPC700 skipper back since it was causing problems in certain games
  - Added Multiple Snapshot files
  - Fixed a minor loading bug
  - Fixed 16-bit color full add/sub conversion table when video is in BGR format
  - Fixed some fixed color screen add/sub bugs
  - Supported .SWC format in the GUI


............................................................
v0.295 - January 29, 1998
............................................................

  - Compiled under a newer version of WDOSX.  This should help fix some
    VESA 2 problems.
  - Fixed multiple SPC700 bugs
  - Added a command line to force either NTSC (-t) or PAL (-u) timing
  - Added a command line to force 8-bit sound on (-8)
  - Zsnes.cfg is now loaded from the directory where zsnes.exe is located
  - Zsnes.cfg now re-writes itself when zsnes exits
  - Reduced zsnes.exe filesize
  - The IRQ's are now more stable.  This should help fix some crashing/rebooting
    problems under dos.  Thanks to Sardu for some help on this!
  - Fixed some VRAM accessing bugs
  - Several fixes to the sound DSP
  - Optimised SPC700 a bit
  - Implemented primitive Mode 5, 512 horizontal resolution.  To get
    full potential of this mode, use 640x480 resolutions except for
    interpolated/nonscanline mode.
  - Improved 65816 <-> SPC700 communication
  - Slightly improved sound skipper
  - Fixed a directory changing bug
  - Implemented Scanlines for 640x480x256 video mode
  - Added a temporary command line to enable sound compression buffering (-Q)
  - Added a extra menu which pops out when you press F1
  - Added snapshot feature.  Press F1 and select Save Snapshot
    ZSNES saves 256 color under image.pcx and 65536 under image.bmp.
  - Added FPS feature.  At the moment, it only works when
    auto frame rate is used.
  - 65816 bugfix : x flag is supposed be used in MVN/MVP
  - Fixed up color addition/subtraction clipping a bit
  - Added Scanlines, Interpolation, Enterskip, and Force 8-bit sound
    in zsnes.cfg
  - GUI now saves the loading directory
  - Added a separate save directory feature in zsnes.cfg.
  - SPC700 bugfix : fixed mem.bit addressing mode.
    Thanks to Phoenix for this info!
  - Fix up a bug where more memory was cleared than needed in 256 color
    video memory processing
  - Optimised video memory clearing in 65536 color mode
  - Minor optimisations to the 65816/SPC700
  - Implemented Mode 7 Tile #0 Repetition
  - Rewrote most of the Mode 7 routines for speed
  - Fixed a 65536 color Mode 7 bug where the background wasn't cleared properly
  - Added Pro Action Replay, Gold Finger,and Game Genie cheat code support
  - Optimised Memory/Register accessing routines
  - Used a newer version of Sidewinder driver.  Should fix some problems
    and also support 2 sidewinder pads (not tested yet).  Thanks Robert!
    Also, thanks to Sardu for helping to get it to work right!
  - Whoops!  256 Color palette was set when GUI is exited in 16-bit mode.
    Hopefully fixed now.
  - Added the ability to Clear/Disable/Enable cheat codes through the menu.
  - Optimised Graphics Decompression Routines.
    Thanks to Nerlaska for this info!
  - A Bunch of other Minor Bugs Fixed.


............................................................
v0.270 - December 25, 1997
............................................................

  - Properly cleared memory when loaded off of the GUI
  - Implemented realtime adsr/gain switch.  Special thanks to Sardu for
    help on this!
  - Fixed up a VESA 2 error message
  - Temporarily disabled Sound Compress buffering till we can get the bugs out.
  - Volume fixes to the sound DSP
  - Fixed up > 16mbit LoROM support
  - Added partial 48mbit ROM support (no games seems to work yet
                                      + 9MB mem required)
  - Fixed a SRAM Memory Map Bug
  - Fixed a bug in old style joystick read
  - Disabled sram save using tilde key.  Instead, enter/exit the GUI since
    it also saves the sram.
  - Added panic key which turns back on all sound channels and backgrounds.
    Press 6 to activate this.
  - Added snes mouse support!  Use 7 to switch between keyboard and mouse.
    Thanks to Y0SHi for info on this!
  - Panic key now turns off mouse when mouse is enabled
  - Fixed a minor IRQ bug
  - Fixed a HDMA bug.  Thanks to Lord Esnes for help on this!
  - Fixed a timing bug.  Thanks to TaNdRuM for help on this!
  - Fixed up some Fixed color add/sub bugs
  - Implemented OBJ Name Base Select.  Thanks to Y0SHi for info!
  - Windowing was off by 1 pixel.  Now fixed.
  - Fixed Screen Add/Sub on back area
  - Added support for 4 and 6 button joysticks
  - Added support for sidewinder joypads
  - Fixed a VESA 2.0 bug.  It should be more compatible now.
  - Implemented Interpolation for 640x480x65536 mode.  Use -Y to enable.
  - Modified sound mixing code a bit
  - Added GUI disable in zsnes.cfg.  Add this if you want to disable the GUI
      GUIDisable = 1
  - Implemented Directory Changing in the GUI
  - Fixed a bug where it crashed when loading some ROMs
  - Fixed an ADSR sustain bug.  Thanks to Trepalium for help on this!


............................................................
v0.201b - November 5, 1997
............................................................

  - Fixed up Save State Selection bug


............................................................
v0.201 - November 5, 1997
............................................................

  - Fixed up PAL/NTSC detection when GUI is used
  - GUI now doesn't enter load when no files are found.
    Thanks to ScanT for reporting this!
  - Sped up execution loop a bit
  - Fixed up a major save state conversion bug.  Old save states
    should work better now.


............................................................
v0.200 - November 4, 1997
............................................................

  - Reg$2137 was calculating the horizontal position incorrectly
  - Fixed up a looping bug in sound DSP.  Thanks to EFX for some help on this!
  - Added Key to dump SRAM to Harddisk (tilde key, ~) during game
  - Fixed up gain sound effects
  - Fixed a couple of SPC timer bugs
  - Added Stereo Sound!  (Use -Z)
  - Added some precision to the DSP (this seemed to have slowed emulation down)
  - Changed Real Time State Save Format.  However, ZSNES will automatically
    convert from an older format.  Some problems may come up because of the
    many changes in the dsp.
  - Fixed up a sprite ordering bug.  Thanks to Y0SHi!
  - Added Scanlines (Use -N)  Only available for 256x256/640x480x65536
  - Adjusted SPC timers
  - Fixed up BG Mode 0 display
  - Fixed up a bug that crashes when hirom sram is accessed
  - Fixed up a VIRQ bug
  - Added a simple, yet effective dsp timer wait substitute.  Seems to make many
    games run much faster with sound!
  - Fixed VRAM increment bug.  Special thanks to Trepalium for this info!
  - Fixed up multiple SPC bugs
  - Player 2 was still reading the joystick even though keyboard was selected.
    This is now fixed.
  - Added VSync (-w).  Thanks to Marius Fodor for the code!
    Please use -f 0 when using this.
  - Added a very simple GUI.  Currently, it only loads, reset, and quit.
    Also, load cannot change the current directory.
  - Added -m to disable the GUI
  - Added Stereo to zsnes.cfg.  Add this if you want to enable stereo :
      Stereo = 1


............................................................
v0.182 - October 23, 1997
............................................................

  - Small fix to a priority in bg4 drawing
  - Added TCALL and PCALL
     Special Thanks to Gary of Snes9X!
  - Enabled the debugger (use the -d command line)


............................................................
v0.180 - October 22, 1997
............................................................

  - Move the whats new stuff to readme.txt
  - Forgot to remove the end of string marker so the new vesa modes didn't show
    in the previous version help
  - Fixed minor SNES PPU DMA bug
  - lowered volume again
  - Fixed a vesa 2 bug issue.  Nothing major
  - Removed PCALL/TCALL.  If anyone knows the implementation of these
    instructions, please tell us.  Also, we will not accept any requests to put
    these back on unless the info the found.  Thanks.
  - Modified SPC700 cycle timing.
  - Added code that properly deinits sound blaster auto-init mode
  - Moved sound blaster interrupt code a bit
  - Added Gamma Correction (use -g # in the command line)
  - Added what the default keys are in the readme.txt (We should have done this
    in the first release.  Oh well =) )
  - Added a new command line that can modify the % of clock cycles executed.
    ZSNES currently is modified so that 100% runs as many games as possible so
    it is strongly recommended that you do not set this.  But to modify this,
    use -p # in the command line.
  - Hopefully fixed up sprite BG layering priorities and background priorities
    to the correct way.  Thanks to Y0SHi for this info!
  - Fixed up key ordering in zsnes.cfg.  Thanks to Michael and Aquis for
    reporting this!  If zsnes.cfg already exists, change the button order to :
    B, Y, A, X, L, R
  - Fixed up set blaster detection.
  - SPC700 : Fixed up a minor flag setting bug in pop psw


............................................................
v0.170 - October 16, 1997
............................................................

  - Fixed crashing bug when 8000Hz sound is selected (divide by 0 problem)
  - Forgot to add code to support Sound Blaster irqs greater than 7
  - Changed 65816 timing a bit. (should help compatibility a bit)
  - Fixed a bug in 65816 stack routines.
    Special Thanks to Alucard for reporting this!
  - Somewhat modified sound decompression routines
  - Somewhat sped up Mode 7
  - Fixed a minor screen add/sub bug in non-repeating mode 7
  - Added increment by 8 vram access registers
  - Video Modes should now clear the screen when init
  - ZSNES now automatically creates a default .cfg file when one is missing
  - Forgot to implement save/load state messages in 16-bit.  It's there now.
  - Added a new command line : -b.  This disables sound compression buffering.
    There is a noticeable slowdown, but this should reduce static.
  - Added sound compression buffering disable in the .cfg file
    If you have an old .cfg file already, manually add this string at
    the end if you want to disable sound buffering :  SoundBufDisable = 1
  - Added 640x480 modes for both 8 and 16 bit.  VESA2 is still required and
    these modes are much slower too.  This seems to still not work on various
    video cards.  There's probabily a bug in VESA2 detection.
  - Fixed a sprite layering bug.
  - Reduced sound volume to prevent overflows.  This seems to make the sound
    better, but the pitch calculations are still incorrect due to SPC bugs.
  - Fixed a screen sub bug.  Thanks to Barubary!


............................................................
v0.150 - Initial Release - October 14, 1997
............................................................

  The following are implemented :
  - complete 65816 instruction set (bugs still left)
  - SRAM support
  - LoROM and HiROM support
  - SlowROM and FastROM support
  - Line by line graphics engine
  - Graphic Modes 0,1,2,3,4,5,6,7
  - 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
  - Mosaic effects
  - 8x8 and 16x16 tiles
  - 32x32,64x32,32x64,64x64 tile modes
  - Full DMA support
  - Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
  - Mode 7 rotating and scaling effects
  - Single Windowing Routines
  - BG priorities (still needs some work)
  - Sprite Priorities (still needs some work)
  - Add/sub of back area
  - HIRQ/VIRQ/NMI Interrupts
  - Support for most snes file formats
  - Multi file format support (.1,.2,.3,A.,B.,C.)
  - 16-bit graphics support
  - PAL timing support

  The following are present in sound :

  - 16bit digital sound
  - SPC700 Sound CPU (bugs still left)
  - DSP Sound Processor
       - ADSR volume effects
       - GAIN volume effects

  Following are present in 16-bit graphics mode :

  - Palette changing in the middle of a screen
  - Screen Addition (full and half)
  - Screen Subtraction (full)
  - Fixed Color Addition/Subtraction
  - Window clipping for Fixed Color (still needs work)

  The following are the features present in ZSNES :

  - Game State Save (F2=Save, F3=Select, F4=Load).
      Warning : A state file takes 200 kbytes of HD space!
  - Auto frame rate to give you constant Super Nintendo speed up to 12
      frame skips
  - configuration file support (zsnes.cfg)
  - 2 player support w/ Joystick and Gamepad support

  The following features are missing :

  - DSP features such as noise, echo, and pitch modulation
  - Mode 7 horizontal flip and color repetition
  - Screen Subtraction (half)
  - Interleaved ROM formats
  - A few VRAM accessing modes
  - Dual Windowing support (not sure if it's worth implementing this)

  The following will probabily never be implemented (but who knows...) :

  - 512 snes horizontal resolution
  - 448/480 snes vertical Interlaced resolution
  - Raster Effects (Scrolling location change in the middle of a
       horizontal line.  There might be a way to get through some of this)
  - EXTBG mode for mode 7 (I don't know any games that uses this)

  What will not run :
  -------------------
  - Super FX games such as Star Fox, Yoshi's Island, etc.
  - DSP games such as Mario Kart, Pilotwings, etc.
  - Games with other special chips such as Megaman X2 and X3
  - Games that have a unique sound checking routine (if sound is disabled)
  - Games which doesn't have a valid header (use -L or -H to get it working)
  - Games that hit a severe bug in the 65816/PPU/SPC700/DSP routines
  - Games that require special timing


. . . . . . . . . . . . . . . .
This documentation is best viewed in a fixed-width font such as "Courier New".

Copyright (C) ZSNES Team & ZSNES Documentation Team [License.txt]
